<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>ITDOG博客</title><link>https://blog.itdog.net/</link><description>一个IT人的世界</description><item><title>笔记本windows7系统，利用wifi开热点共享上网</title><link>https://blog.itdog.net/post/693.html</link><description>&lt;p&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;笔记本电脑系统是windows7，64位，无线网卡：Intel(R) Dual Band Wireless-AC 3160。目前笔记本是有线上网，想用这电脑作为wifi热点分享网络。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;1、&lt;span style=&quot;font-weight: 600; color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;span class=&quot;&quot;&gt;检查无线网卡是否支持&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;：以管理员身份打开“命令提示符”（在开始菜单搜索&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-family: var(--ds-font-family-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; color: rgb(15, 17, 21); white-space: normal; font-size: 0.875em !important;&quot;&gt;cmd&lt;/code&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;，右键选择“以管理员身份运行”），输入以下命令并回车：&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;netsh&amp;nbsp;wlan&amp;nbsp;show&amp;nbsp;drivers&lt;/pre&gt;&lt;p&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;在返回的信息中，找到“支持的承载网络”这一项。如果显示为“是”，说明你的网卡支持创建热点；如果显示“否”，则无法使用此方法。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608171786957145141594.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;2、&lt;span style=&quot;font-weight: 600; color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;span class=&quot;&quot;&gt;创建并启动虚拟网络&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;：在命令行窗口中，依次输入以下两条命令，每输入一条按一次回车&lt;/span&gt;&lt;/p&gt;&lt;p&gt;设置网络名称和密码（请替换 你的网络名 和 你的密码）：&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;netsh&amp;nbsp;wlan&amp;nbsp;set&amp;nbsp;hostednetwork&amp;nbsp;mode=allow&amp;nbsp;ssid=你的网络名&amp;nbsp;key=你的密码&lt;/pre&gt;&lt;p&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;启动热点：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;netsh&amp;nbsp;wlan&amp;nbsp;start&amp;nbsp;hostednetwork&lt;/pre&gt;&lt;p&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;如果看到提示“&lt;/span&gt;&lt;span style=&quot;font-weight: 600; color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;span class=&quot;&quot;&gt;承载网络已启动&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;”，说明虚拟 WiFi 创建成功了&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color:#0f1115;font-family:quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #FFFFFF;&quot;&gt;可以将这两个步骤做成bat批处理脚本，更加方便&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color:#0f1115;font-family:quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #FFFFFF;&quot;&gt;方案一：（简单版）&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color:#0f1115;font-family:quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #FFFFFF;&quot;&gt;新建一个文本文件，将以下内容复制进去，然后保存为：热点简单版.bat，注意修改SSID和KEY，必须以管理员身份运行&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;@echo&amp;nbsp;off
title&amp;nbsp;WiFi热点启动器

echo&amp;nbsp;正在启动WiFi热点...
netsh&amp;nbsp;wlan&amp;nbsp;set&amp;nbsp;hostednetwork&amp;nbsp;mode=allow&amp;nbsp;ssid=MyWiFi&amp;nbsp;key=12345678
netsh&amp;nbsp;wlan&amp;nbsp;start&amp;nbsp;hostednetwork

echo.
echo&amp;nbsp;操作完成！请查看上方提示信息。
echo&amp;nbsp;如果提示&amp;quot;承载网络已启动&amp;quot;，则表示成功。
pause&lt;/pre&gt;&lt;p&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#0f1115;font-family:quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #FFFFFF;&quot;&gt;方案二：增强版（带状态检测和菜单）&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;span style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;这个版本功能更丰富，可以查看热点状态、启动、停止，使用起来更方便。功能如下：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;echo&amp;nbsp;================================
echo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WiFi&amp;nbsp;热点管理工具
echo&amp;nbsp;================================
echo&amp;nbsp;&amp;nbsp;1.&amp;nbsp;启动&amp;nbsp;WiFi&amp;nbsp;热点
echo&amp;nbsp;&amp;nbsp;2.&amp;nbsp;停止&amp;nbsp;WiFi&amp;nbsp;热点
echo&amp;nbsp;&amp;nbsp;3.&amp;nbsp;查看热点状态
echo&amp;nbsp;&amp;nbsp;4.&amp;nbsp;显示当前连接设备数
echo&amp;nbsp;&amp;nbsp;5.&amp;nbsp;修改热点名称和密码
echo&amp;nbsp;&amp;nbsp;0.&amp;nbsp;退出
echo&amp;nbsp;================================&lt;/pre&gt;&lt;p&gt;由于win7不太支持中文，所以用英文编写&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;span style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;保存下面为：热点增强版.bat&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;@echo&amp;nbsp;off
chcp&amp;nbsp;936&amp;nbsp;&amp;gt;nul
title&amp;nbsp;WiFi&amp;nbsp;Hotspot&amp;nbsp;Manager

set&amp;nbsp;ssid=MyWiFi
set&amp;nbsp;key=12345678

:menu
cls
echo&amp;nbsp;==============================
echo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WiFi&amp;nbsp;Hotspot&amp;nbsp;Manager
echo&amp;nbsp;==============================
echo&amp;nbsp;&amp;nbsp;1.&amp;nbsp;Start&amp;nbsp;Hotspot
echo&amp;nbsp;&amp;nbsp;2.&amp;nbsp;Stop&amp;nbsp;Hotspot
echo&amp;nbsp;&amp;nbsp;3.&amp;nbsp;Show&amp;nbsp;Status
echo&amp;nbsp;&amp;nbsp;4.&amp;nbsp;Show&amp;nbsp;Connected&amp;nbsp;Devices
echo&amp;nbsp;&amp;nbsp;5.&amp;nbsp;Change&amp;nbsp;SSID&amp;nbsp;and&amp;nbsp;Password
echo&amp;nbsp;&amp;nbsp;0.&amp;nbsp;Exit
echo&amp;nbsp;==============================
set&amp;nbsp;/p&amp;nbsp;choice=Please&amp;nbsp;select&amp;nbsp;(0-5):

if&amp;nbsp;&amp;quot;%choice%&amp;quot;==&amp;quot;1&amp;quot;&amp;nbsp;goto&amp;nbsp;start
if&amp;nbsp;&amp;quot;%choice%&amp;quot;==&amp;quot;2&amp;quot;&amp;nbsp;goto&amp;nbsp;stop
if&amp;nbsp;&amp;quot;%choice%&amp;quot;==&amp;quot;3&amp;quot;&amp;nbsp;goto&amp;nbsp;status
if&amp;nbsp;&amp;quot;%choice%&amp;quot;==&amp;quot;4&amp;quot;&amp;nbsp;goto&amp;nbsp;show
if&amp;nbsp;&amp;quot;%choice%&amp;quot;==&amp;quot;5&amp;quot;&amp;nbsp;goto&amp;nbsp;config
if&amp;nbsp;&amp;quot;%choice%&amp;quot;==&amp;quot;0&amp;quot;&amp;nbsp;goto&amp;nbsp;exit

echo&amp;nbsp;Invalid&amp;nbsp;choice,&amp;nbsp;please&amp;nbsp;try&amp;nbsp;again!
pause
goto&amp;nbsp;menu

:start
echo.
echo&amp;nbsp;Starting&amp;nbsp;WiFi&amp;nbsp;Hotspot...
netsh&amp;nbsp;wlan&amp;nbsp;set&amp;nbsp;hostednetwork&amp;nbsp;mode=allow&amp;nbsp;ssid=%ssid%&amp;nbsp;key=%key%
netsh&amp;nbsp;wlan&amp;nbsp;start&amp;nbsp;hostednetwork
echo.
echo&amp;nbsp;Done!
pause
goto&amp;nbsp;menu

:stop
echo.
echo&amp;nbsp;Stopping&amp;nbsp;WiFi&amp;nbsp;Hotspot...
netsh&amp;nbsp;wlan&amp;nbsp;stop&amp;nbsp;hostednetwork
echo.
echo&amp;nbsp;Done!
pause
goto&amp;nbsp;menu

:status
echo.
netsh&amp;nbsp;wlan&amp;nbsp;show&amp;nbsp;hostednetwork
pause
goto&amp;nbsp;menu

:show
echo.
netsh&amp;nbsp;wlan&amp;nbsp;show&amp;nbsp;hostednetwork&amp;nbsp;|&amp;nbsp;find&amp;nbsp;&amp;quot;clients&amp;quot;
pause
goto&amp;nbsp;menu

:config
echo.
echo&amp;nbsp;Current&amp;nbsp;SSID:&amp;nbsp;%ssid%
echo&amp;nbsp;Current&amp;nbsp;Key:&amp;nbsp;%key%
echo.
set&amp;nbsp;/p&amp;nbsp;new_ssid=New&amp;nbsp;SSID&amp;nbsp;(press&amp;nbsp;Enter&amp;nbsp;to&amp;nbsp;keep):&amp;nbsp;
if&amp;nbsp;not&amp;nbsp;&amp;quot;%new_ssid%&amp;quot;==&amp;quot;&amp;quot;&amp;nbsp;set&amp;nbsp;ssid=%new_ssid%
set&amp;nbsp;/p&amp;nbsp;new_key=New&amp;nbsp;Key&amp;nbsp;(at&amp;nbsp;least&amp;nbsp;8&amp;nbsp;chars,&amp;nbsp;press&amp;nbsp;Enter&amp;nbsp;to&amp;nbsp;keep):&amp;nbsp;
if&amp;nbsp;not&amp;nbsp;&amp;quot;%new_key%&amp;quot;==&amp;quot;&amp;quot;&amp;nbsp;set&amp;nbsp;key=%new_key%
echo.
echo&amp;nbsp;Configuration&amp;nbsp;updated!
echo&amp;nbsp;Current&amp;nbsp;SSID:&amp;nbsp;%ssid%
echo&amp;nbsp;Current&amp;nbsp;Key:&amp;nbsp;%key%
pause
goto&amp;nbsp;menu

:exit
exit&lt;/pre&gt;&lt;p&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;先修改文件中&lt;/span&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;set，同样需要以管理员身份运行&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;需要注意的是，以上两个版本在电脑重启后，系统会记住SSID和KEY的设置，但默认的启动是关闭的。所以每次开电脑需要手动运行启动热点命令：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;netsh&amp;nbsp;wlan&amp;nbsp;start&amp;nbsp;hostednetwork&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color:#0f1115;font-family:quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #FFFFFF;&quot;&gt;如果要实现开机自动启动，可以做一下极简的启动bat，然后放在系统的启动目录（C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup）即可&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color:#0f1115;font-family:quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608171786958271342136.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;启动热点.bat：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;@echo&amp;nbsp;off
netsh&amp;nbsp;wlan&amp;nbsp;set&amp;nbsp;hostednetwork&amp;nbsp;mode=allow&amp;nbsp;ssid=MyWiFi&amp;nbsp;key=12345678
netsh&amp;nbsp;wlan&amp;nbsp;start&amp;nbsp;hostednetwork
pause&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;color:#0f1115;font-family:quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 16px; background-color: #FFFFFF;&quot;&gt;最后做一个关闭热点的BAT，双击运行即可关闭：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;@echo&amp;nbsp;off
netsh&amp;nbsp;wlan&amp;nbsp;stop&amp;nbsp;hostednetwork
pause&lt;/pre&gt;</description><pubDate>Mon, 17 Aug 2026 16:51:49 +0800</pubDate></item><item><title>mysql命令实现将多行多商品转换成单行多商品</title><link>https://blog.itdog.net/post/692.html</link><description>&lt;p&gt;如图，将表1数据按下面要求，生成表2&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608111786436026802318.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255); margin-top: 0px !important;&quot;&gt;&lt;span class=&quot;&quot;&gt;在 MySQL 中，将多行商品合并成一行并用逗号分隔，最核心的函数是&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;GROUP_CONCAT&lt;/code&gt;&lt;/span&gt;&lt;span class=&quot;&quot;&gt;。这个函数专门用于将分组内的多个值连接成一个字符串。&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;假设你的表名为&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;test811&lt;/code&gt;&lt;span class=&quot;&quot;&gt;，包含&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;单号&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;和&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;商品&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;两列，SQL 命令如下：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;基本命令（最常用）：&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;单号,&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GROUP_CONCAT(商品&amp;nbsp;SEPARATOR&amp;nbsp;&amp;#39;,&amp;#39;)&amp;nbsp;AS&amp;nbsp;商品
FROM&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;test811
GROUP&amp;nbsp;BY&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;单号
ORDER&amp;nbsp;BY&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;单号;&lt;/pre&gt;&lt;p&gt;如下图：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608111786438025213955.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;---------------------------------------&lt;/p&gt;&lt;h3 style=&quot;font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; margin: 32px 0px 16px; color: rgb(15, 17, 21); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;进阶用法（根据实际需求调整）&lt;/span&gt;&lt;/h3&gt;&lt;h4 style=&quot;font-size: 16px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; margin: 16px 0px; color: rgb(15, 17, 21); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;1. 如果希望对合并后的商品进行排序&lt;/span&gt;&lt;/h4&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;比如希望商品按照字母顺序（A-Z）排列，可以在&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;GROUP_CONCAT&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;内部使用&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;ORDER BY&lt;/code&gt;&lt;span class=&quot;&quot;&gt;：&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-sql&quot;&gt;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;单号,&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GROUP_CONCAT(商品&amp;nbsp;ORDER&amp;nbsp;BY&amp;nbsp;商品&amp;nbsp;ASC&amp;nbsp;SEPARATOR&amp;nbsp;&amp;#39;,&amp;#39;)&amp;nbsp;AS&amp;nbsp;商品
FROM&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;test811
GROUP&amp;nbsp;BY&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;单号;&lt;/pre&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;2. 如果想去重后再合并（避免重复商品）&lt;/p&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;假如某个单号下有重复的商品（比如 11 对应 A, A, B），只想保留一个 A：&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-sql&quot;&gt;SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;单号,&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GROUP_CONCAT(DISTINCT&amp;nbsp;商品&amp;nbsp;SEPARATOR&amp;nbsp;&amp;#39;,&amp;#39;)&amp;nbsp;AS&amp;nbsp;商品
FROM&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;test811
GROUP&amp;nbsp;BY&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;单号;&lt;/pre&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;3. 如果合并后的字符串太长被截断了&lt;/p&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;GROUP_CONCAT&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;默认最大长度为 1024 个字符。如果商品较多，需要先设置更大的长度：&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-sql&quot;&gt;--&amp;nbsp;临时设置（本次会话有效）
SET&amp;nbsp;SESSION&amp;nbsp;group_concat_max_len&amp;nbsp;=&amp;nbsp;10000;

--&amp;nbsp;然后再执行查询
SELECT&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;单号,&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GROUP_CONCAT(商品&amp;nbsp;SEPARATOR&amp;nbsp;&amp;#39;,&amp;#39;)&amp;nbsp;AS&amp;nbsp;商品
FROM&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;test811
GROUP&amp;nbsp;BY&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;单号;&lt;/pre&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/p&gt;</description><pubDate>Tue, 11 Aug 2026 16:30:35 +0800</pubDate></item><item><title>WPS表格(或EXCEL）将多行多商品转换成单行多商品</title><link>https://blog.itdog.net/post/691.html</link><description>&lt;p&gt;软件是WPS2019版本&lt;/p&gt;&lt;p&gt;需求：将以下表1转换成表2形式。如下图&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608111786436026802318.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;操作步骤：&lt;/p&gt;&lt;p&gt;1、复制表1单号于一列，并选上——数据——删除重复项——当前选择区域——删除重复项&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608111786436316840922.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608111786436369564702.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;2、选择H3单元格，输入以下命令：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;=TEXTJOIN(&amp;quot;,&amp;quot;,TRUE,IF($A$2:$A$10=L3,$B$2:$B$10,&amp;quot;&amp;quot;))&lt;/pre&gt;&lt;p&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608111786436562718567.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;这里千万不要按回车，而是&lt;strong&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;按&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-family: var(--ds-font-family-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; color: rgb(15, 17, 21); white-space: normal; font-size: 0.875em !important;&quot;&gt;Ctrl+Shift+Enter&lt;/code&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&amp;nbsp;结束。&lt;/span&gt;&lt;/strong&gt;可以看到比刚才多了一个{ }&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608111786436712523135.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;3、向下填充即可。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608111786436779574960.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 11 Aug 2026 16:10:11 +0800</pubDate></item><item><title>linux云主机vps：系统初始化与安全加固</title><link>https://blog.itdog.net/post/690.html</link><description>&lt;p data-first-child=&quot;&quot; data-pid=&quot;ImzGWEyp&quot; style=&quot;margin-top: 0px; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;VPS 刚开出来，默认状态是裸奔的——root 密码录、防火墙没开（部分厂商会在平台有默认安全组平台级，不是VPS级，需自行查看是否开启）、没有任何防护。全世界的扫描器 24 小时在扫公网 IP，一台没加固的 VPS 平均几分钟就会被尝试爆破。&lt;/p&gt;&lt;p data-pid=&quot;opp2fEas&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;今天咱们不是&amp;quot;建议你做&amp;quot;的选读内容，是&amp;quot;必须做&amp;quot;的操作手册。所有命令在 Ubuntu 22.04 / Debian 12 上验证通过，可以直接复制粘贴。&lt;/p&gt;&lt;hr style=&quot;border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top-style: solid; border-top-color: rgb(196, 199, 206); margin: 4em auto; max-width: 100%; width: 240px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; color: rgb(25, 27, 31); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;连上去&lt;/h2&gt;&lt;p data-pid=&quot;9C9SiqYY&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;云厂商会给你 IP 地址和 root 密码。Mac / Linux 打开终端：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;ssh&amp;nbsp;root@123.45.67.89&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;p9O5nqo5&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;Windows 推荐 Termius（界面好、跨平台）或 FinalShell（国产、免费、带文件管理）。输入 IP 和端口 22（默认SSH端口），用户名 root，密码填云厂商给的初始密码（购买开通既有）。（阿伟是懒人，用的Windows，操作简单，可视化面）&lt;/p&gt;&lt;p data-pid=&quot;y_lbb1Mo&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;连上后看到&amp;nbsp;&lt;code style=&quot;background-color: rgb(248, 248, 250); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;root@xxxxx:~#&lt;/code&gt;&amp;nbsp;就说明登录成功了。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure data-size=&quot;normal&quot; style=&quot;margin: 1.4em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;RichText-ConditionalImagePortal&quot; style=&quot;overflow: hidden; max-height: 5000px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608051785890387337520.jpg&quot; alt=&quot;PixPin_2026-08-05_08-39-25.jpg&quot;/&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr style=&quot;border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top-style: solid; border-top-color: rgb(196, 199, 206); margin: 4em auto; max-width: 100%; width: 240px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; color: rgb(25, 27, 31); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;第一步：更新系统&lt;/h2&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;apt&amp;nbsp;update&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;apt&amp;nbsp;upgrade&amp;nbsp;-y&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;FM-oxsA-&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;刚装好的系统有过期的包，可能包含已知安全漏洞，这一步把所有包更新到最新版本，堵掉已知漏洞。等它跑完。&lt;/p&gt;&lt;hr style=&quot;border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top-style: solid; border-top-color: rgb(196, 199, 206); margin: 4em auto; max-width: 100%; width: 240px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; color: rgb(25, 27, 31); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;第二步：改 root 密码&lt;/h2&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;passwd&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;gF2UFoOt&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;云厂商给的初始密码不一定安全——你不确定有没有别人知道。改成你自己的强密码，至少 12 位，混合大小写字母、数字、符号。输入时不显示字符是正常的。（有些平台是可以直接在平台上更改的，怎么方便怎么来）&lt;/p&gt;&lt;hr style=&quot;border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top-style: solid; border-top-color: rgb(196, 199, 206); margin: 4em auto; max-width: 100%; width: 240px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; color: rgb(25, 27, 31); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;第三步：建普通用户&lt;/h2&gt;&lt;p data-pid=&quot;sG_OX7JX&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;日常操作不要用 root。root 权限太大，一条&amp;nbsp;&lt;code style=&quot;background-color: rgb(248, 248, 250); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;rm -rf /&lt;/code&gt;&amp;nbsp;就能把系统删没。建一个普通用户，需要的时候临时提权：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;adduser&amp;nbsp;deploy&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;7cUm0059&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;设置密码，其他信息回车跳过。然后给 sudo 权限：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;usermod&amp;nbsp;-aG&amp;nbsp;sudo&amp;nbsp;deploy&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;9y8lUF9Q&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;以后日常用&amp;nbsp;&lt;code style=&quot;background-color: rgb(248, 248, 250); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;deploy&lt;/code&gt;&amp;nbsp;登录，需要 root 权限时命令前加&amp;nbsp;&lt;code style=&quot;background-color: rgb(248, 248, 250); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;sudo。&lt;/code&gt;这样即使误操作，系统也会要求你确认，多一道保险。&lt;/p&gt;&lt;hr style=&quot;border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top-style: solid; border-top-color: rgb(196, 199, 206); margin: 4em auto; max-width: 100%; width: 240px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; color: rgb(25, 27, 31); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;第四步：配&amp;nbsp;SSH 密钥登录&lt;/h2&gt;&lt;p data-pid=&quot;bgkTHGRp&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;密码登录有两个问题：记不住，而且会被暴力破解。SSH 密钥更安全也更方便——用密钥对代替密码，机器帮你验证身份，暴力破解在数学上不可行。&lt;/p&gt;&lt;p data-pid=&quot;pxq-EuyK&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;在你本地电脑生成密钥对：&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;ssh-keygen&amp;nbsp;-t&amp;nbsp;ed25519&amp;nbsp;-C&amp;nbsp;&amp;quot;your_email@example.com&amp;quot;&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;rq8oGa6X&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;一路回车，默认路径&amp;nbsp;&lt;code style=&quot;background-color: rgb(248, 248, 250); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;~/.ssh/id_ed25519&lt;/code&gt;。会生成两个文件：私钥（&lt;code style=&quot;background-color: rgb(248, 248, 250); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;id_ed25519&lt;/code&gt;，不能给别人）和公钥（&lt;code style=&quot;background-color: rgb(248, 248, 250); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;id_ed25519.pub&lt;/code&gt;，放服务器上）。&lt;/p&gt;&lt;p data-pid=&quot;y-u9ExaU&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;把公钥传到服务器：&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;ssh-copy-id&amp;nbsp;deploy@123.45.67.89&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;3DhiRdnO&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;输入 deploy 的密码，公钥就自动传过去了。&lt;/p&gt;&lt;p data-pid=&quot;dRACo-yf&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;测试一下：&lt;/span&gt;&amp;nbsp;开新终端，&lt;code style=&quot;background-color: rgb(248, 248, 250); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;ssh deploy@123.45.67.89&lt;/code&gt;，不用输密码就进去了，说明密钥配好了。&lt;/p&gt;&lt;blockquote data-pid=&quot;423H2BkM&quot; style=&quot;border-left: 3px solid rgb(196, 199, 206); color: rgb(83, 88, 97); margin: 1.4em 0px; padding-left: 1em; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;下一步要禁用密码登录。&lt;span style=&quot;font-weight: 600;&quot;&gt;确认密钥能登录了再继续&lt;/span&gt;，否则你会把自己锁在外面。&lt;/blockquote&gt;&lt;hr style=&quot;border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top-style: solid; border-top-color: rgb(196, 199, 206); margin: 4em auto; max-width: 100%; width: 240px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; color: rgb(25, 27, 31); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;第五步：禁密码登录、禁 root 登录&lt;/h2&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;sudo&amp;nbsp;nano&amp;nbsp;/etc/ssh/sshd_config&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;xYQy2W3G&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;找到这两行改掉（前面有&amp;nbsp;&lt;code style=&quot;background-color: rgb(248, 248, 250); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;#&lt;/code&gt;&amp;nbsp;的删掉&amp;nbsp;&lt;code style=&quot;background-color: rgb(248, 248, 250); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;#&lt;/code&gt;）：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;PermitRootLogin&amp;nbsp;no
PasswordAuthentication&amp;nbsp;no&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;rDtMWK0W&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;重启 SSH 服务：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;sudo&amp;nbsp;systemctl&amp;nbsp;restart&amp;nbsp;ssh&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;QBzp1CIB&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;从现在起 root 不能直接 SSH 登录，密码登录也关了，只有持有密钥的 deploy 用户能进来。暴力破解彻底失效。&lt;/p&gt;&lt;hr style=&quot;border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top-style: solid; border-top-color: rgb(196, 199, 206); margin: 4em auto; max-width: 100%; width: 240px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; color: rgb(25, 27, 31); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;第六步：开防火墙&lt;/h2&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;#&amp;nbsp;先放行&amp;nbsp;SSH，否则防火墙一开你就断了
sudo&amp;nbsp;ufw&amp;nbsp;allow&amp;nbsp;22/tcp

#&amp;nbsp;放行&amp;nbsp;Web&amp;nbsp;服务
sudo&amp;nbsp;ufw&amp;nbsp;allow&amp;nbsp;80/tcp
sudo&amp;nbsp;ufw&amp;nbsp;allow&amp;nbsp;443/tcp

#&amp;nbsp;开启防火墙
sudo&amp;nbsp;ufw&amp;nbsp;enable&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;X_Z-KnmX&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;输入 y 确认。以后跑其他服务需要开端口，&lt;code style=&quot;background-color: rgb(248, 248, 250); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;lucida console&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 0.9em; margin: 0px 2px; padding: 3px 4px;&quot;&gt;sudo ufw allow&amp;nbsp;端口号/tcp&lt;/code&gt;&amp;nbsp;就行。&lt;/p&gt;&lt;hr style=&quot;border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top-style: solid; border-top-color: rgb(196, 199, 206); margin: 4em auto; max-width: 100%; width: 240px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; color: rgb(25, 27, 31); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;第七步：装 fail2ban（需求可选）&lt;/h2&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;fail2ban&amp;nbsp;-y&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;oY_mXb4k&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;你已经关了密码登录，SSH 爆破对你无效了。但 fail2ban 还能保护其他服务（比如 Nginx、邮件），而且它几乎不占资源，装上没坏处。它会监控登录日志，有人反复尝试失败就自动封 IP。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure data-size=&quot;normal&quot; style=&quot;margin: 1.4em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/08/202608051785890651858543.png&quot; alt=&quot;v2-ce9c17b8b9fb960e577dcb281dc506bf_1440w.png&quot;/&gt;&lt;br/&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr style=&quot;border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top-style: solid; border-top-color: rgb(196, 199, 206); margin: 4em auto; max-width: 100%; width: 240px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; color: rgb(25, 27, 31); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;基础环境配一下&lt;/h2&gt;&lt;p data-pid=&quot;f19yo5OE&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;安全加固做完了，顺手把环境配好。&lt;/p&gt;&lt;p data-pid=&quot;rpU9n0bU&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;时区&lt;/span&gt;改成北京时间（如果是海外VPS，默认时区不是国内，会有时间不一致情况）：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;sudo&amp;nbsp;timedatectl&amp;nbsp;set-timezone&amp;nbsp;Asia/Shanghai&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;894SxVRf&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;加&amp;nbsp;swap&lt;/span&gt;—如果你只有 1G 内存，跑 MySQL 这类吃内存的服务容易触发 OOM 被杀。swap 文件拿硬盘当虚拟内存&lt;svg width=&quot;10px&quot; height=&quot;10px&quot; viewbox=&quot;0 0 16 16&quot; class=&quot;ZDI ZDI--FourPointedStar16 css-1dvsrp&quot; fill=&quot;currentColor&quot;&gt;&lt;path d=&quot;m5.068 9.267-3.08-.77a.512.512 0 0 1 0-.994l3.08-.77a2.289 2.289 0 0 0 1.665-1.665l.77-3.08a.512.512 0 0 1 .994 0l.77 3.08c.205.82.845 1.46 1.665 1.665l3.08.77a.512.512 0 0 1 0 .994l-3.08.77a2.29 2.29 0 0 0-1.665 1.665l-.77 3.08a.512.512 0 0 1-.994 0l-.77-3.08a2.289 2.289 0 0 0-1.665-1.665Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;顶着：&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;sudo&amp;nbsp;fallocate&amp;nbsp;-l&amp;nbsp;2G&amp;nbsp;/swapfile
sudo&amp;nbsp;chmod&amp;nbsp;600&amp;nbsp;/swapfile
sudo&amp;nbsp;mkswap&amp;nbsp;/swapfile
sudo&amp;nbsp;swapon&amp;nbsp;/swapfile
echo&amp;nbsp;&amp;#39;/swapfile&amp;nbsp;none&amp;nbsp;swap&amp;nbsp;sw&amp;nbsp;0&amp;nbsp;0&amp;#39;&amp;nbsp;|&amp;nbsp;sudo&amp;nbsp;tee&amp;nbsp;-a&amp;nbsp;/etc/fstab&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;FynCb9wW&quot; style=&quot;margin-top: 1.4em; margin-bottom: 1.4em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;装常用工具：&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;git&amp;nbsp;wget&amp;nbsp;curl&amp;nbsp;vim&amp;nbsp;htop&amp;nbsp;unzip&lt;/pre&gt;&lt;/div&gt;&lt;hr style=&quot;border-right: none; border-bottom: none; border-left: none; border-image: initial; border-top-style: solid; border-top-color: rgb(196, 199, 206); margin: 4em auto; max-width: 100%; width: 240px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;/&gt;&lt;h2 style=&quot;font-variant-numeric: inherit; font-variant-east-asian: inherit; font-stretch: inherit; font-size: 1.2em; line-height: 1.5; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; margin: calc(2.33333em) 0px calc(1.16667em); clear: left; color: rgb(25, 27, 31); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;最后跑一遍检查&lt;/h2&gt;&lt;div class=&quot;highlight&quot; style=&quot;overflow: initial; margin: 1em 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;pre style=&quot;margin-top: 0px; margin-bottom: 0px; overflow-wrap: initial; background-color: rgb(248, 248, 250); border-radius: 4px; font-size: 0.9em; overflow: auto; padding: calc(0.888889em); word-break: initial;&quot;&gt;#&amp;nbsp;SSH&amp;nbsp;配置是否生效
sudo&amp;nbsp;sshd&amp;nbsp;-T&amp;nbsp;|&amp;nbsp;grep&amp;nbsp;-E&amp;nbsp;&amp;quot;permitrootlogin|passwordauthentication&amp;quot;
#&amp;nbsp;应该输出&amp;nbsp;permitrootlogin&amp;nbsp;no&amp;nbsp;和&amp;nbsp;passwordauthentication&amp;nbsp;no

#&amp;nbsp;防火墙状态
sudo&amp;nbsp;ufw&amp;nbsp;status
#&amp;nbsp;应该是&amp;nbsp;active，22/80/443&amp;nbsp;端口开放

#&amp;nbsp;fail2ban&amp;nbsp;在不在跑
sudo&amp;nbsp;systemctl&amp;nbsp;is-active&amp;nbsp;fail2ban
#&amp;nbsp;应该输出&amp;nbsp;active

#&amp;nbsp;swap&amp;nbsp;有没有
free&amp;nbsp;-h&amp;nbsp;|&amp;nbsp;grep&amp;nbsp;Swap
#&amp;nbsp;应该显示&amp;nbsp;swap&amp;nbsp;空间

#&amp;nbsp;时区对不对
date
#&amp;nbsp;应该是&amp;nbsp;CST&lt;/pre&gt;&lt;/div&gt;&lt;p data-pid=&quot;qw-TfqlE&quot; style=&quot;margin-top: 1.4em; margin-bottom: 0px; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Source Han Sans SC&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, &amp;quot;MiSans L3&amp;quot;, &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: medium; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;全过，你的 VPS 从裸奔状态变成了安全可用的服务器。接下来就可以开始部署你的应用了。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 05 Aug 2026 08:36:20 +0800</pubDate></item><item><title>防止服务器被扫，一套完整的Linux安全加固方案</title><link>https://blog.itdog.net/post/689.html</link><description>&lt;p&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;以CentOS7为例。要求新建一个bigboy普通用户作日常ssh远程登录，禁用root远程ssh登录，安装Fail2ban，限制10分钟内失败3次，封禁3小时，并记录到日志中。&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#实时查看系统扫描命令：
sudo&amp;nbsp;tail&amp;nbsp;-f&amp;nbsp;/var/log/secure
#查看最近n行记录
sudo&amp;nbsp;tail&amp;nbsp;-n&amp;nbsp;100&amp;nbsp;/var/log/secure&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;下面是一套完整的 CentOS 7 安全加固方案，按您的要求逐步执行。建议您在操作前先保持一个已连接的 SSH 窗口不要关闭，以防配置失误导致自己无法登录。&lt;/p&gt;&lt;h3&gt;整体操作流程：&lt;/h3&gt;&lt;p&gt;1、新建普通用户 bigboy并配置 sudo 权限&lt;/p&gt;&lt;p&gt;2、测试 bigboy用户 SSH 登录是否正常&lt;/p&gt;&lt;p&gt;3、禁用 root 用户的远程 SSH 登录&lt;/p&gt;&lt;p&gt;4、安装并配置 Fail2ban（规则：10分钟失败3次，封禁3小时，记录日志）&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;第1步：新建 bigboy普通用户&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;创建用户&amp;nbsp;bigboy，并自动创建家目录
useradd&amp;nbsp;bigboy

#&amp;nbsp;设置密码（输入两次确认，建议使用强密码）
passwd&amp;nbsp;bigboy

#&amp;nbsp;将&amp;nbsp;bigboy&amp;nbsp;添加到&amp;nbsp;wheel&amp;nbsp;组，使其拥有&amp;nbsp;sudo&amp;nbsp;权限
usermod&amp;nbsp;-aG&amp;nbsp;wheel&amp;nbsp;bigboy

#&amp;nbsp;验证&amp;nbsp;sudo&amp;nbsp;权限是否配置正确（默认&amp;nbsp;wheel&amp;nbsp;组已有&amp;nbsp;sudo&amp;nbsp;权限）
#&amp;nbsp;如果之前修改过&amp;nbsp;sudoers&amp;nbsp;文件，请检查：
#&amp;nbsp;visudo&amp;nbsp;确认以下行未被注释：
#&amp;nbsp;%wheel&amp;nbsp;&amp;nbsp;ALL=(ALL)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALL&lt;/pre&gt;&lt;h3&gt;第2步：测试 bigboy用户 SSH 登录&lt;/h3&gt;&lt;p&gt;关键步骤：务必先测试成功再继续！&lt;/p&gt;&lt;p&gt;保持当前 root 的 SSH 窗口保持打开状态（不要关闭）&lt;br/&gt;&lt;/p&gt;&lt;p&gt;打开一个新的终端窗口，尝试用 bigboy用户登录：&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;ssh&amp;nbsp;bigboy@你的服务器IP&amp;nbsp;-p&amp;nbsp;22&lt;/pre&gt;&lt;p&gt;输入刚刚设置的密码，确认能正常登录&lt;/p&gt;&lt;p&gt;登录成功后，测试 sudo 权限：&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;sudo&amp;nbsp;whoami
#&amp;nbsp;应该输出&amp;nbsp;root，表示&amp;nbsp;sudo&amp;nbsp;工作正常&lt;/pre&gt;&lt;p&gt;如果登录失败，先排查问题再继续，否则您可能会把自己锁在门外！&lt;/p&gt;&lt;h3&gt;第3步：禁用 root 远程 SSH 登录&lt;/h3&gt;&lt;p&gt;用 bigboy 用户登录后，通过 sudo 编辑 SSH 配置文件：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;sudo&amp;nbsp;vi&amp;nbsp;/etc/ssh/sshd_config&lt;/pre&gt;&lt;p&gt;找到以下行并修改（如果找不到则直接添加）：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;禁止&amp;nbsp;root&amp;nbsp;通过&amp;nbsp;SSH&amp;nbsp;登录
PermitRootLogin&amp;nbsp;no
#&amp;nbsp;仅允许&amp;nbsp;bigboy&amp;nbsp;用户登录（可选，增加安全性）
#&amp;nbsp;在文件末尾添加：
AllowUsers&amp;nbsp;bigboy&lt;/pre&gt;&lt;p&gt;保存退出后，先不要重启 SSH 服务，先检查配置语法：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;sudo&amp;nbsp;sshd&amp;nbsp;-t&lt;/pre&gt;&lt;p&gt;如果没有报错（无任何输出），则重启 SSH 服务：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;sudo&amp;nbsp;systemctl&amp;nbsp;restart&amp;nbsp;sshd&lt;/pre&gt;&lt;p&gt;验证：打开另一个新终端，尝试用 root 直接 SSH 登录：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;ssh&amp;nbsp;root@你的服务器IP&lt;/pre&gt;&lt;p&gt;应该会提示 Permission denied，说明禁用成功。&lt;/p&gt;&lt;h3&gt;第4步：安装并配置 Fail2ban&lt;/h3&gt;&lt;p&gt;4.1 安装 EPEL 仓库和 Fail2ban&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;安装&amp;nbsp;EPEL&amp;nbsp;源（CentOS&amp;nbsp;7&amp;nbsp;需要）
sudo&amp;nbsp;yum&amp;nbsp;install&amp;nbsp;epel-release&amp;nbsp;-y
#&amp;nbsp;--------------------------
#&amp;nbsp;如果是Debian/Ubuntu系统
#&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;fail2ban&amp;nbsp;
#&amp;nbsp;--------------------------
#&amp;nbsp;安装&amp;nbsp;fail2ban
sudo&amp;nbsp;yum&amp;nbsp;install&amp;nbsp;fail2ban&amp;nbsp;-y
#&amp;nbsp;启动&amp;nbsp;（先不启动，后面配置规则后再启动）
#systemctl&amp;nbsp;start&amp;nbsp;fail2ban
#&amp;nbsp;设置开机自启
sudo&amp;nbsp;systemctl&amp;nbsp;enable&amp;nbsp;fail2ban&lt;/pre&gt;&lt;p&gt;4.2 配置 Fail2ban（按您的规则）&lt;/p&gt;&lt;p&gt;Fail2ban 的主配置文件不建议直接修改，推荐创建本地配置文件覆盖默认设置。&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;创建本地配置文件
sudo&amp;nbsp;vi&amp;nbsp;/etc/fail2ban/jail.local&lt;/pre&gt;&lt;p&gt;写入以下内容：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;[DEFAULT]
#&amp;nbsp;封禁时间：3小时&amp;nbsp;=&amp;nbsp;10800秒
bantime&amp;nbsp;=&amp;nbsp;10800
#&amp;nbsp;查找失败次数的时间窗口：10分钟&amp;nbsp;=&amp;nbsp;600秒
findtime&amp;nbsp;=&amp;nbsp;600
#&amp;nbsp;失败次数阈值：3次
maxretry&amp;nbsp;=&amp;nbsp;3
#&amp;nbsp;日志记录级别
loglevel&amp;nbsp;=&amp;nbsp;INFO
logtarget&amp;nbsp;=&amp;nbsp;/var/log/fail2ban.log
#&amp;nbsp;启用防火墙操作（CentOS&amp;nbsp;7&amp;nbsp;使用&amp;nbsp;firewall-cmd）
banaction&amp;nbsp;=&amp;nbsp;firewallcmd-rich-rules
action&amp;nbsp;=&amp;nbsp;%(action_mwl)s
[sshd]
#&amp;nbsp;启用&amp;nbsp;SSH&amp;nbsp;防护
enabled&amp;nbsp;=&amp;nbsp;true
port&amp;nbsp;=&amp;nbsp;ssh
filter&amp;nbsp;=&amp;nbsp;sshd
logpath&amp;nbsp;=&amp;nbsp;/var/log/secure&lt;/pre&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;配置参数说明：&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9&quot; style=&quot;--dsl-scroll-area-gutters-disappear-delay:1s; z-index: 0; position: relative; overflow: auto; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255); --container-height:230px;&quot;&gt;&lt;table width=&quot;752&quot;&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l3); font: var(--dsw-font-markdown-table-head); border-top: none; min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px; text-align: left;&quot;&gt;&lt;span class=&quot;&quot;&gt;参数&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l3); font: var(--dsw-font-markdown-table-head); border-top: none; min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px; text-align: left;&quot;&gt;&lt;span class=&quot;&quot;&gt;值&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l3); font: var(--dsw-font-markdown-table-head); border-top: none; min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px; text-align: left;&quot;&gt;&lt;span class=&quot;&quot;&gt;含义&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;bantime&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;10800&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;span class=&quot;&quot;&gt;封禁 3 小时（单位：秒）&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;findtime&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;600&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;span class=&quot;&quot;&gt;统计失败次数的时间窗口为 10 分钟&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;maxretry&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;3&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;span class=&quot;&quot;&gt;在&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;findtime&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;内失败 3 次即触发封禁&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;banaction&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;firewallcmd-rich-rules&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;span class=&quot;&quot;&gt;使用 firewall-cmd 添加封禁规则&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;以下是ubuntu版本的规则，只是防火墙部分不用，可供参考：&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;[DEFAULT]
#&amp;nbsp;封禁时间：3小时&amp;nbsp;=&amp;nbsp;10800秒
bantime&amp;nbsp;=&amp;nbsp;10800

#&amp;nbsp;查找失败次数的时间窗口：10分钟&amp;nbsp;=&amp;nbsp;600秒
findtime&amp;nbsp;=&amp;nbsp;600

#&amp;nbsp;失败次数阈值：3次
maxretry&amp;nbsp;=&amp;nbsp;3

#&amp;nbsp;日志记录级别
loglevel&amp;nbsp;=&amp;nbsp;INFO
logtarget&amp;nbsp;=&amp;nbsp;/var/log/fail2ban.log

#&amp;nbsp;----------&amp;nbsp;关键差异：防火墙配置&amp;nbsp;----------
#&amp;nbsp;Ubuntu&amp;nbsp;默认使用&amp;nbsp;ufw，但&amp;nbsp;fail2ban&amp;nbsp;对&amp;nbsp;ufw&amp;nbsp;支持有限
#&amp;nbsp;推荐使用&amp;nbsp;iptables-multiport（几乎所有&amp;nbsp;Ubuntu&amp;nbsp;版本都支持）
banaction&amp;nbsp;=&amp;nbsp;iptables-multiport

#&amp;nbsp;动作配置：发送邮件通知（可选，需要配置邮件服务）
#&amp;nbsp;如果不需要邮件通知，可以简化为：
action&amp;nbsp;=&amp;nbsp;%(action_mwl)s

[sshd]
#&amp;nbsp;启用&amp;nbsp;SSH&amp;nbsp;防护
enabled&amp;nbsp;=&amp;nbsp;true
port&amp;nbsp;=&amp;nbsp;ssh
filter&amp;nbsp;=&amp;nbsp;sshd
logpath&amp;nbsp;=&amp;nbsp;/var/log/auth.log&lt;/pre&gt;&lt;h3&gt;4.3 启动 Fail2ban 并验证&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;启动&amp;nbsp;fail2ban
sudo&amp;nbsp;systemctl&amp;nbsp;start&amp;nbsp;fail2ban
#&amp;nbsp;如果需要重启&amp;nbsp;fail2ban
#sudo&amp;nbsp;systemctl&amp;nbsp;restart&amp;nbsp;fail2ban
#&amp;nbsp;查看运行状态
sudo&amp;nbsp;systemctl&amp;nbsp;status&amp;nbsp;fail2ban
#&amp;nbsp;查看&amp;nbsp;SSH&amp;nbsp;防护状态（能看到当前被封禁的&amp;nbsp;IP&amp;nbsp;列表）
sudo&amp;nbsp;fail2ban-client&amp;nbsp;status&amp;nbsp;sshd&lt;/pre&gt;&lt;h3&gt;4.4 验证封禁规则是否生效&lt;/h3&gt;&lt;p&gt;可以用以下命令手动模拟测试（不要用您的正常登录 IP 测试，否则会把自己封掉）：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;查看当前封禁的&amp;nbsp;IP
sudo&amp;nbsp;fail2ban-client&amp;nbsp;status&amp;nbsp;sshd
#&amp;nbsp;查看&amp;nbsp;fail2ban&amp;nbsp;日志
sudo&amp;nbsp;tail&amp;nbsp;-f&amp;nbsp;/var/log/fail2ban.log
#&amp;nbsp;查看&amp;nbsp;firewall&amp;nbsp;封禁规则（被封禁的&amp;nbsp;IP&amp;nbsp;会在这里显示）
sudo&amp;nbsp;firewall-cmd&amp;nbsp;--list-rich-rules&lt;/pre&gt;&lt;h3&gt;测试您的配置是否生效&lt;/h3&gt;&lt;p&gt;模拟攻击测试（从另一台机器执行）：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;用错误的密码连续尝试&amp;nbsp;SSH&amp;nbsp;登录&amp;nbsp;3&amp;nbsp;次以上
ssh&amp;nbsp;bigboy@你的服务器IP
#&amp;nbsp;连续输入错误密码&amp;nbsp;3&amp;nbsp;次&lt;/pre&gt;&lt;p&gt;观察日志：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;在服务器上实时查看&amp;nbsp;secure&amp;nbsp;日志
sudo&amp;nbsp;tail&amp;nbsp;-f&amp;nbsp;/var/log/secure
#&amp;nbsp;会看到&amp;nbsp;Failed&amp;nbsp;password&amp;nbsp;的记录
#&amp;nbsp;查看&amp;nbsp;fail2ban&amp;nbsp;日志
sudo&amp;nbsp;tail&amp;nbsp;-f&amp;nbsp;/var/log/fail2ban.log
#&amp;nbsp;会看到类似&amp;nbsp;&amp;quot;Ban&amp;nbsp;192.168.x.x&amp;quot;&amp;nbsp;的记录&lt;/pre&gt;&lt;p&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607301785381646439805.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;查看防火墙规则确认封禁：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;sudo&amp;nbsp;firewall-cmd&amp;nbsp;--list-rich-rules
#&amp;nbsp;应该能看到类似：
#&amp;nbsp;rule&amp;nbsp;family=&amp;quot;ipv4&amp;quot;&amp;nbsp;source&amp;nbsp;address=&amp;quot;被封IP&amp;quot;&amp;nbsp;reject&lt;/pre&gt;&lt;p&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607301785381680956509.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;h3&gt;? 查看封禁日志记录&lt;/h3&gt;&lt;p&gt;您的规则已经将日志记录到 /var/log/fail2ban.log，可用以下命令查看：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;查看所有封禁记录
sudo&amp;nbsp;grep&amp;nbsp;&amp;quot;Ban&amp;quot;&amp;nbsp;/var/log/fail2ban.log
#&amp;nbsp;查看所有解封记录
sudo&amp;nbsp;grep&amp;nbsp;&amp;quot;Unban&amp;quot;&amp;nbsp;/var/log/fail2ban.log
#&amp;nbsp;查看某个&amp;nbsp;IP&amp;nbsp;的封禁历史
sudo&amp;nbsp;grep&amp;nbsp;&amp;quot;193.32.162.26&amp;quot;&amp;nbsp;/var/log/fail2ban.log&lt;/pre&gt;&lt;h3 style=&quot;font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; margin: 32px 0px 16px; color: rgb(15, 17, 21); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;? 常用 Fail2ban 管理命令&lt;/span&gt;&lt;/h3&gt;&lt;div class=&quot;ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9&quot; style=&quot;--dsl-scroll-area-gutters-disappear-delay:1s; z-index: 0; position: relative; overflow: auto; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255); --container-height:276px;&quot;&gt;&lt;table width=&quot;752&quot;&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l3); font: var(--dsw-font-markdown-table-head); border-top: none; min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px; text-align: left;&quot;&gt;&lt;span class=&quot;&quot;&gt;命令&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l3); font: var(--dsw-font-markdown-table-head); border-top: none; min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px; text-align: left;&quot;&gt;&lt;span class=&quot;&quot;&gt;作用&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;sudo fail2ban-client status&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;span class=&quot;&quot;&gt;查看所有启用的服务状态&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;sudo fail2ban-client status sshd&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;span class=&quot;&quot;&gt;查看 SSH 防护详细状态（含封禁 IP 列表）&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;sudo fail2ban-client set sshd unbanip &amp;lt;IP&amp;gt;&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;span class=&quot;&quot;&gt;手动解封某个 IP&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;sudo fail2ban-client reload&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;span class=&quot;&quot;&gt;重载配置文件（修改配置后使用）&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;sudo systemctl restart fail2ban&lt;/code&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;span class=&quot;&quot;&gt;重启 Fail2ban 服务&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;完成。&lt;/p&gt;</description><pubDate>Thu, 30 Jul 2026 10:27:18 +0800</pubDate></item><item><title>windows下利用winrar定期压缩备份文件夹内容</title><link>https://blog.itdog.net/post/688.html</link><description>&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;需求：&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;windows下利用winrar定期压缩A文件夹并保存到B文件下，最后定期删除B文件夹下的1个月以前备份数据。&lt;/span&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;核心思路是写一个批处理脚本（.bat），让 WinRAR 执行压缩，并用&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;color: rgb(15, 17, 21); box-sizing: border-box; font-family: var(--ds-font-family-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;forfiles&lt;/code&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&amp;nbsp;命令清理旧备份，最后通过 Windows 任务计划程序让它自动运行。&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;为你准备了一个完整的解决方案，按下面几步操作即可。&lt;/span&gt;&lt;/p&gt;&lt;h3 style=&quot;font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; margin: 32px 0px 16px; color: rgb(15, 17, 21); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;第一步：编写批处理脚本（backup.bat）&lt;/span&gt;&lt;/h3&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;这个脚本会完成压缩和删除旧文件两项任务。你可以用记事本创建一个新文件，将下面的代码复制进去，然后保存为&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;backup.bat&lt;/code&gt;&lt;span class=&quot;&quot;&gt;。&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;@echo&amp;nbsp;off
::&amp;nbsp;设置&amp;nbsp;WinRAR&amp;nbsp;安装路径（通常在&amp;nbsp;Program&amp;nbsp;Files&amp;nbsp;下）
set&amp;nbsp;&amp;quot;rarPath=C:\Program&amp;nbsp;Files\WinRAR\WinRAR.exe&amp;quot;

::&amp;nbsp;设置要备份的源文件夹&amp;nbsp;A
set&amp;nbsp;&amp;quot;sourceFolder=C:\需要备份的文件夹A&amp;quot;

::&amp;nbsp;设置备份文件存放的目标文件夹&amp;nbsp;B
set&amp;nbsp;&amp;quot;backupFolder=D:\备份存放文件夹B&amp;quot;

::&amp;nbsp;设置备份文件的文件名（包含日期时间，例如：Backup_20260728.rar）
set&amp;nbsp;&amp;quot;backupFile=%backupFolder%\Backup_%date:~0,4%%date:~5,2%%date:~8,2%.rar&amp;quot;

::&amp;nbsp;1.&amp;nbsp;使用&amp;nbsp;WinRAR&amp;nbsp;进行压缩
::&amp;nbsp;a:&amp;nbsp;添加文件到压缩包&amp;nbsp;&amp;nbsp;-ag:&amp;nbsp;自动附加日期&amp;nbsp;&amp;nbsp;-r:&amp;nbsp;包含子文件夹&amp;nbsp;&amp;nbsp;-ibck:&amp;nbsp;后台运行
&amp;quot;%rarPath%&amp;quot;&amp;nbsp;a&amp;nbsp;-r&amp;nbsp;-ibck&amp;nbsp;&amp;quot;%backupFile%&amp;quot;&amp;nbsp;&amp;quot;%sourceFolder%&amp;quot;

::&amp;nbsp;2.&amp;nbsp;删除&amp;nbsp;B&amp;nbsp;文件夹下&amp;nbsp;30&amp;nbsp;天前的&amp;nbsp;.rar&amp;nbsp;备份文件
forfiles&amp;nbsp;/p&amp;nbsp;&amp;quot;%backupFolder%&amp;quot;&amp;nbsp;/m&amp;nbsp;*.rar&amp;nbsp;/d&amp;nbsp;-30&amp;nbsp;/c&amp;nbsp;&amp;quot;cmd&amp;nbsp;/c&amp;nbsp;del&amp;nbsp;/q&amp;nbsp;@path&amp;quot;

echo&amp;nbsp;备份完成，并已清理超过30天的旧文件。&lt;/pre&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;你需要根据自己的情况修改代码中的几个路径：&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;ds-scroll-area ds-scroll-area--show-on-focus-within ds-scroll-area--enabled _1210dd7 c03cafe9&quot; style=&quot;--dsl-scroll-area-gutters-disappear-delay:1s; z-index: 0; position: relative; overflow: auto; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255); --container-height:302px;&quot;&gt;&lt;table width=&quot;752&quot;&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l3); font: var(--dsw-font-markdown-table-head); border-top: none; min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px; text-align: left;&quot;&gt;&lt;strong&gt;&lt;span class=&quot;&quot;&gt;变量&lt;/span&gt;&lt;/strong&gt;&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l3); font: var(--dsw-font-markdown-table-head); border-top: none; min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px; text-align: left;&quot; width=&quot;290&quot;&gt;&lt;strong&gt;&lt;span class=&quot;&quot;&gt;说明&lt;/span&gt;&lt;/strong&gt;&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l3); font: var(--dsw-font-markdown-table-head); border-top: none; min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px; text-align: left;&quot;&gt;&lt;strong&gt;&lt;span class=&quot;&quot;&gt;示例&lt;/span&gt;&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;strong&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;rarPath&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px;&quot; width=&quot;290&quot;&gt;&lt;strong&gt;&lt;span class=&quot;&quot;&gt;WinRAR的安装路径&lt;/span&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 170.703px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 170.703px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 170.703px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;&quot;&gt;。如果你安装时没改过，通常就是这个。&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;strong&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;&amp;quot;C:\Program Files\WinRAR\WinRAR.exe&amp;quot;&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;strong&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;sourceFolder&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px;&quot; width=&quot;290&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;你的A文件夹&lt;/span&gt;&lt;span class=&quot;&quot;&gt;的完整路径&lt;/span&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 170.703px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;&quot;&gt;。&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;strong&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;&amp;quot;C:\Users\你的用户名\Documents\重要资料&amp;quot;&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;strong&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;backupFolder&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px;&quot; width=&quot;290&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;你的B文件夹&lt;/span&gt;&lt;span class=&quot;&quot;&gt;的完整路径&lt;/span&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 170.703px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;&quot;&gt;。&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;strong&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;&amp;quot;D:\Backup&amp;quot;&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px 10px 0px;&quot;&gt;&lt;strong&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;/d -30&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 16px;&quot; width=&quot;290&quot;&gt;&lt;strong&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;forfiles&lt;/code&gt;&lt;span class=&quot;&quot;&gt;命令中的天数，&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;-30&lt;/code&gt;&lt;span class=&quot;&quot;&gt;代表30天前&lt;/span&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 170.703px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 170.703px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 170.703px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;&quot;&gt;。可以按需修改。&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom: 1px solid var(--dsw-alias-border-l2); font: var(--dsw-font-markdown-table); min-width: 100px; max-width: min(30vw, 320px); padding: 10px 0px 10px 16px;&quot;&gt;&lt;strong&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 13px;&quot;&gt;/d -30&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;em&gt;&lt;span class=&quot;&quot;&gt;补充说明：&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;%date:~0,4%%date:~5,2%%date:~8,2%&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;会提取系统日期并拼接成类似&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;20260728&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;的格式，确保每天生成的压缩包名字不同，不会互相覆盖&lt;/span&gt;&lt;a href=&quot;https://xiazai.zol.com.cn/jiqiao/14923.html&quot; target=&quot;_blank&quot; rel=&quot;noreferrer&quot; style=&quot;transition: box-shadow var(--ds-transition-duration) var(--ds-ease-in-out); border-style: solid; border-color: rgba(255, 255, 255, 0); border-image: initial; border-width: 2px 3px; margin-left: -3px; margin-right: -3px; text-decoration-line: none; position: relative; cursor: default;&quot;&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 376px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;&quot;&gt;。&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;h3 style=&quot;font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; margin: 32px 0px 16px; color: rgb(15, 17, 21); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;第二步：测试你的脚本&lt;/span&gt;&lt;/h3&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;保存好&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;backup.bat&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;文件后，&lt;/span&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;双击运行它&lt;/span&gt;&lt;span class=&quot;&quot;&gt;。检查一下B文件夹里是否生成了新的&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;.rar&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;压缩包，确保没有报错。如果是第一次运行，因为还没有30天前的文件，不会触发删除操作。&lt;/span&gt;&lt;/p&gt;&lt;h3 style=&quot;font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; margin: 32px 0px 16px; color: rgb(15, 17, 21); white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;第三步：设置定时任务&lt;/span&gt;&lt;/h3&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span class=&quot;&quot;&gt;最后，我们把这个脚本添加到Windows的“任务计划程序”中，让它自动运行。&lt;/span&gt;&lt;/p&gt;&lt;ol start=&quot;1&quot; style=&quot;margin-top: 16px; margin-bottom: 16px; padding-left: 18px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-bottom: 0px; margin-top: 0px !important;&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;打开任务计划程序&lt;/span&gt;&lt;span class=&quot;&quot;&gt;：按下键盘上的&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;Win + R&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;键，输入&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;taskschd.msc&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;并回车&lt;/span&gt;&lt;a href=&quot;https://developer.aliyun.com/article/1587264&quot; target=&quot;_blank&quot; rel=&quot;noreferrer&quot; style=&quot;transition: box-shadow var(--ds-transition-duration) var(--ds-ease-in-out); border-style: solid; border-color: rgba(255, 255, 255, 0); border-image: initial; border-width: 2px 3px; margin-left: -3px; margin-right: -3px; text-decoration-line: none; position: relative; cursor: default;&quot;&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 367px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;&quot;&gt;。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-bottom: 0px; margin-top: 0px !important;&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;创建基本任务&lt;/span&gt;&lt;span class=&quot;&quot;&gt;：在右侧的操作面板中，点击&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;“创建基本任务...”&lt;/span&gt;&lt;a href=&quot;https://cloud.tencent.com.cn/developer/article/2123931?from=15425&amp;policyId=undefined&amp;traceId=&amp;frompage=seopage&quot; target=&quot;_blank&quot; rel=&quot;noreferrer&quot; style=&quot;transition: box-shadow var(--ds-transition-duration) var(--ds-ease-in-out); border-style: solid; border-color: rgba(255, 255, 255, 0); border-image: initial; border-width: 2px 3px; margin-left: -3px; margin-right: -3px; text-decoration-line: none; position: relative; cursor: default;&quot;&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 367px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;&quot;&gt;。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-bottom: 8px; margin-top: 0px !important;&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;设置名称和触发器&lt;/span&gt;&lt;span class=&quot;&quot;&gt;：&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top: 4px; padding-left: 18px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-bottom: 0px; margin-top: 0px !important;&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;名称&lt;/span&gt;&lt;span class=&quot;&quot;&gt;：输入一个你记得住的名字，比如“每日自动备份”。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-bottom: 0px; margin-top: 0px !important;&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;触发器&lt;/span&gt;&lt;span class=&quot;&quot;&gt;：选择你想要的执行频率，例如&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;“每天”&lt;/span&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;，然后设置具体时间（比如凌晨2点）。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-bottom: 8px; margin-top: 0px !important;&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;设置操作&lt;/span&gt;&lt;span class=&quot;&quot;&gt;：&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul style=&quot;margin-top: 4px; padding-left: 18px;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-bottom: 0px; margin-top: 0px !important;&quot;&gt;&lt;span class=&quot;&quot;&gt;在“操作”界面，选择&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;“启动程序”&lt;/span&gt;&lt;span class=&quot;&quot;&gt;。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-bottom: 0px; margin-top: 0px !important;&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;程序或脚本&lt;/span&gt;&lt;span class=&quot;&quot;&gt;：点击“浏览”，选择你刚才创建的&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-style: ; font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-weight: ; font-stretch: ; line-height: ; font-family: var(--ds-font-family-code); background-color: var(--dsw-alias-markdown-inline-code); border-radius: 6px; align-items: center; padding: 0px 5px; display: inline-flex; font-size: 0.875em !important;&quot;&gt;backup.bat&lt;/code&gt;&lt;span class=&quot;&quot;&gt;&amp;nbsp;文件&lt;/span&gt;&lt;a href=&quot;https://developer.aliyun.com/article/1587264&quot; target=&quot;_blank&quot; rel=&quot;noreferrer&quot; style=&quot;transition: box-shadow var(--ds-transition-duration) var(--ds-ease-in-out); border-style: solid; border-color: rgba(255, 255, 255, 0); border-image: initial; border-width: 2px 3px; margin-left: -3px; margin-right: -3px; text-decoration-line: none; position: relative; cursor: default;&quot;&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 358px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href=&quot;https://cloud.tencent.com.cn/developer/article/2123931?from=15425&amp;policyId=undefined&amp;traceId=&amp;frompage=seopage&quot; target=&quot;_blank&quot; rel=&quot;noreferrer&quot; style=&quot;transition: box-shadow var(--ds-transition-duration) var(--ds-ease-in-out); border-style: solid; border-color: rgba(255, 255, 255, 0); border-image: initial; border-width: 2px 3px; margin-left: -3px; margin-right: -3px; text-decoration-line: none; position: relative; cursor: default;&quot;&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; margin: 0px 3px; padding: 1.5px 4px; display: inline; position: relative; top: -2px;&quot;&gt;&lt;span style=&quot;opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;position: absolute; left: 358px; top: 9px; transform: translateX(-50%) translateY(-50%);&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;&quot;&gt;。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-bottom: 0px; margin-top: 0px !important;&quot;&gt;&lt;span style=&quot;font-weight: 600;&quot;&gt;完成&lt;/span&gt;&lt;span class=&quot;&quot;&gt;：点击“完成”即可&lt;/span&gt;&lt;span class=&quot;ds-markdown-cite&quot; style=&quot;box-sizing: border-box; user-select: none; background: var(--dsw-alias-markdown-citation); min-width: 18px; height: 18px; font: var(--dsw-font-xxxs-strong-11); color: var(--dsw-alias-label-secondary); cursor: pointer; border-radius: 12px; flex-shrink: 0; justify-content: center; align-items: center; padding: 1.5px 4px; display: inline; position: relative; top: -2px; opacity: 0; margin: 0px 2.21875px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;&quot;&gt;。&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p class=&quot;ds-markdown-paragraph&quot; style=&quot;margin-top: 16px; color: rgb(15, 17, 21); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255); margin-bottom: 0px !important;&quot;&gt;&lt;span class=&quot;&quot;&gt;设置好后，你的电脑就会在每天设定的时间自动执行备份和清理工作了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 28 Jul 2026 15:31:11 +0800</pubDate></item><item><title>linux下的sftp终端命令连接到远程sftp服务器操作</title><link>https://blog.itdog.net/post/687.html</link><description>&lt;p&gt;连接 SFTP 服务器进行上传和下载，最常用的方式就是通过 Linux 终端自带的 sftp 命令。下面是完整的操作步骤和常用命令。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. 连接到 SFTP 服务器&lt;/strong&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;在终端中输入以下命令：
sftp&amp;nbsp;username@hostname
#或者使用&amp;nbsp;IP&amp;nbsp;地址：
sftp&amp;nbsp;username@192.168.1.100
#如果服务器使用非标准端口（默认是&amp;nbsp;22），用&amp;nbsp;-P&amp;nbsp;指定端口：
sftp&amp;nbsp;-P&amp;nbsp;2222&amp;nbsp;username@hostname&lt;/pre&gt;&lt;p&gt;连接后会提示输入密码，验证通过即进入 sftp&amp;gt; 交互式命令行。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. 常用导航命令（与 SSH 类似）&lt;/strong&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;命令&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;作用
pwd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;查看远程服务器当前目录
lpwd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;查看本地当前目录（本地路径）
ls&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;列出远程目录内容
lls&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;列出本地目录内容
cd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;目录&amp;gt;切换远程目录
lcd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;目录&amp;gt;切换本地目录&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3. 上传文件（本地 → 远程）&lt;/strong&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;put&amp;nbsp;本地文件路径&amp;nbsp;[远程目标路径]&lt;/pre&gt;&lt;p&gt;示例：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;put&amp;nbsp;/home/user/data.txt&lt;/pre&gt;&lt;p&gt;将当前本地目录下的 data.txt 上传到远程当前目录。&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;put&amp;nbsp;/home/user/data.txt&amp;nbsp;/remote/backup/&lt;/pre&gt;&lt;p&gt;上传到远程指定目录（可同时重命名，如 /remote/backup/newdata.txt）。&lt;/p&gt;&lt;p&gt;上传整个目录（递归）：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;put&amp;nbsp;-r&amp;nbsp;/home/user/mydir&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4. 下载文件（远程 → 本地）&lt;/strong&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;get&amp;nbsp;远程文件路径&amp;nbsp;[本地目标路径]&lt;/pre&gt;&lt;p&gt;示例：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;get&amp;nbsp;data.txt&lt;/pre&gt;&lt;p&gt;下载远程当前目录的 data.txt 到本地当前目录。&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;get&amp;nbsp;/remote/data.txt&amp;nbsp;/home/user/downloads/&lt;/pre&gt;&lt;p&gt;下载到本地指定目录。&lt;/p&gt;&lt;p&gt;下载整个目录：&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;get&amp;nbsp;-r&amp;nbsp;/remote/mydir&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5. 其他实用操作&lt;/strong&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;命令&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;作用
rm&amp;nbsp;&amp;lt;文件&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;删除远程文件
rmdir&amp;nbsp;&amp;lt;目录&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;删除远程空目录
mkdir&amp;nbsp;&amp;lt;目录&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在远程创建目录
rename&amp;nbsp;old&amp;nbsp;new&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;重命名远程文件或目录
chmod&amp;nbsp;755&amp;nbsp;file&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;修改远程文件权限
exit&amp;nbsp;或&amp;nbsp;quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;退出&amp;nbsp;sftp&amp;nbsp;会话&lt;/pre&gt;</description><pubDate>Mon, 27 Jul 2026 16:07:37 +0800</pubDate></item><item><title>centos7部署sftp服务器的详细步骤</title><link>https://blog.itdog.net/post/686.html</link><description>&lt;p&gt;在CentOS 7上部署一个安全、功能正常的SFTP服务器，核心是使用系统自带的OpenSSH服务，并通过internal-sftp和ChrootDirectory来限制用户只能访问自己的目录。以下是详细的步骤：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;整个部署过程可以清晰地分为六个步骤，请按顺序执行。&lt;/p&gt;&lt;p&gt;1. 安装与启动SSH服务（&lt;strong&gt;默认已安装，可跳过这步骤&lt;/strong&gt;）&lt;br/&gt;&lt;/p&gt;&lt;p&gt;CentOS 7默认已安装OpenSSH，但最好先确认一下。&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;安装OpenSSH服务器（如果尚未安装）
sudo&amp;nbsp;yum&amp;nbsp;install&amp;nbsp;-y&amp;nbsp;openssh-server
#&amp;nbsp;启动SSH服务并设置开机自启
sudo&amp;nbsp;systemctl&amp;nbsp;start&amp;nbsp;sshd
sudo&amp;nbsp;systemctl&amp;nbsp;enable&amp;nbsp;sshd
#&amp;nbsp;检查服务运行状态
sudo&amp;nbsp;systemctl&amp;nbsp;status&amp;nbsp;sshd&lt;/pre&gt;&lt;p&gt;sftp依赖于SSH服务，无需额外安装。另外，请确保防火墙放行了SSH端口（默认为22）：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;sudo&amp;nbsp;firewall-cmd&amp;nbsp;--permanent&amp;nbsp;--add-service=ssh
sudo&amp;nbsp;firewall-cmd&amp;nbsp;--reload&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;2. 创建专用用户组和用户&lt;/p&gt;&lt;p&gt;为了便于管理，建议创建一个专门用于SFTP的用户组，并添加一个&lt;strong&gt;没有Shell登录权限&lt;/strong&gt;的用户。&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;创建用户组（例如命名为sftpusers）
sudo&amp;nbsp;groupadd&amp;nbsp;sftpusers
#&amp;nbsp;创建用户，指定家目录，加入组，并禁止Shell登录
#&amp;nbsp;-g:&amp;nbsp;指定主组，-d:&amp;nbsp;指定家目录，-s:&amp;nbsp;指定Shell，/sbin/nologin&amp;nbsp;表示禁止登录
sudo&amp;nbsp;useradd&amp;nbsp;-g&amp;nbsp;sftpusers&amp;nbsp;-d&amp;nbsp;/home/sftpuser&amp;nbsp;-s&amp;nbsp;/sbin/nologin&amp;nbsp;sftpuser
#&amp;nbsp;为用户设置密码
sudo&amp;nbsp;passwd&amp;nbsp;sftpuser&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;3. 创建目录结构并设置权限（关键步骤）&lt;/p&gt;&lt;p&gt;这是最容易出错的地方。ChrootDirectory指定的根目录必须由root拥有，且权限不能超过755，否则用户无法登录。&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;1.&amp;nbsp;创建用户的家目录（作为Chroot的根目录）
sudo&amp;nbsp;mkdir&amp;nbsp;-p&amp;nbsp;/home/sftpuser
#&amp;nbsp;2.&amp;nbsp;将家目录的所有者改为root，组改为sftpusers，权限设为755
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;这样用户才能进入这个目录，但没有写入权限
sudo&amp;nbsp;chown&amp;nbsp;root:sftpusers&amp;nbsp;/home/sftpuser
sudo&amp;nbsp;chmod&amp;nbsp;755&amp;nbsp;/home/sftpuser
#&amp;nbsp;3.&amp;nbsp;在根目录下创建一个用于上传文件的子目录（例如upload）
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;用户将拥有此目录的写入权限
sudo&amp;nbsp;mkdir&amp;nbsp;-p&amp;nbsp;/home/sftpuser/upload
#&amp;nbsp;4.&amp;nbsp;将此子目录的所有权交给sftpuser用户
sudo&amp;nbsp;chown&amp;nbsp;sftpuser:sftpusers&amp;nbsp;/home/sftpuser/upload&lt;/pre&gt;&lt;p&gt;为什么需要这样设置？：用户登录后会被锁定在/home/sftpuser目录下。为了保证这个“监狱”的安全，用户不能对这个监狱的“牢门”（根目录）有写权限。因此，需要一个由root拥有且用户只读的根目录，并在其中创建一个用户自有权限的upload文件夹来存放文件。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;4. 配置SSH服务&lt;/p&gt;&lt;p&gt;编辑SSH的主配置文件/etc/ssh/sshd_config。&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;sudo&amp;nbsp;vi&amp;nbsp;/etc/ssh/sshd_config&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-weight: 600; color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;span class=&quot;&quot;&gt;注释掉&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;&quot; style=&quot;color: #0F1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;原有的Subsystem行&lt;/span&gt;（大约在第80行），前面加个#号&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;找到这一行（大约在第80行）
#&amp;nbsp;Subsystem&amp;nbsp;sftp&amp;nbsp;/usr/libexec/openssh/sftp-server&lt;/pre&gt;&lt;p&gt;在文件末尾添加以下配置：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;使用更安全的&amp;nbsp;internal-sftp&amp;nbsp;子系统，而不是&amp;nbsp;sftp-server
Subsystem&amp;nbsp;sftp&amp;nbsp;internal-sftp
#&amp;nbsp;对&amp;nbsp;sftpusers&amp;nbsp;组的用户应用以下规则
Match&amp;nbsp;Group&amp;nbsp;sftpusers
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;将用户限制在自己的家目录
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ChrootDirectory&amp;nbsp;%h
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;强制使用&amp;nbsp;SFTP，禁止执行任何Shell命令
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ForceCommand&amp;nbsp;internal-sftp
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;禁用端口转发和X11转发以增强安全性
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AllowTcpForwarding&amp;nbsp;no
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X11Forwarding&amp;nbsp;no
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PermitTTY&amp;nbsp;no&lt;/pre&gt;&lt;p&gt;参数解释：%h是一个变量，代表用户的家目录。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;5. 重启服务并测试&lt;/p&gt;&lt;p&gt;配置完成后，需要重启SSH服务并测试连接。&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#&amp;nbsp;1.&amp;nbsp;检查配置文件语法是否正确
sudo&amp;nbsp;sshd&amp;nbsp;-t
#&amp;nbsp;2.&amp;nbsp;如果语法无误，重启SSH服务
sudo&amp;nbsp;systemctl&amp;nbsp;restart&amp;nbsp;sshd
#&amp;nbsp;3.&amp;nbsp;在本地或另一台机器上进行测试
sftp&amp;nbsp;sftpuser@你的服务器IP&lt;/pre&gt;&lt;p&gt;如果登录失败，请查看日志/var/log/secure获取详细错误信息，这通常是权限设置不正确引起的。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;6. 处理SELinux（如需要）&lt;/p&gt;&lt;p&gt;如果系统启用了SELinux，即使权限设置正确，也可能因上下文问题导致无法访问。作为排查手段，可以先临时关闭SELinux进行测试：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;sudo&amp;nbsp;setenforce&amp;nbsp;0&lt;/pre&gt;&lt;p&gt;如果关闭后问题解决，则需要配置SELinux策略或永久关闭它。永久关闭需编辑/etc/selinux/config文件，将SELINUX=enforcing改为SELINUX=disabled，然后重启系统。生产环境建议通过设置chcon或semanage来配置正确的安全上下文，而非直接关闭。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;⚠️ 关键注意事项&lt;/p&gt;&lt;p&gt;权限是核心：ChrootDirectory指定的目录及其所有上级目录，都必须是root所有，且权限不大于755。这是导致连接失败的最常见原因。&lt;/p&gt;&lt;p&gt;使用internal-sftp：这是OpenSSH的内置SFTP服务，配置和管理上比独立的sftp-server更简单、更安全。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;禁止Shell登录：为用户指定/sbin/nologin或/bin/false作为Shell，可以防止用户通过SSH登录到系统执行命令，仅用于SFTP传输文件&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 24 Jul 2026 08:37:15 +0800</pubDate></item><item><title>利用serv-u和FreeFileSync实现SFTP定时远程文件备份（windows)</title><link>https://blog.itdog.net/post/685.html</link><description>&lt;p&gt;&lt;!--data-siyuan='PGRpdiBkYXRhLXN1YnR5cGU9Img1IiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTUzMDA5LWF4YzZzb28iIGRhdGEtbm9kZS1pbmRleD0iMCIgZGF0YS10eXBlPSJOb2RlSGVhZGluZyIgY2xhc3M9Img1IHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE1NDQ0MyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7pnIDmsYI8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE1MzIwMi04cDVvb3Q5IiBkYXRhLW5vZGUtaW5kZXg9IjEiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTUzMzExIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPui/nOeoi+eUteiEkeS4undpbmRvd3M377yM5a6J6KOFc2Vydi115pyN5Yqh5Zmo77yM55So5LqO5a2Y5pS+5aSH5Lu95paH5Lu277yM5L2/55Soc2Z0cOi/m+ihjOaVsOaNrui/nuaOpTwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTUzMzE3LXZpM2Q4NG8iIGRhdGEtbm9kZS1pbmRleD0iMiIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNTM1NTEiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+5pys5Zyw5omL5o+Q55S16ISR5Li6d2luZG93czfvvIzlronoo4VGcmVlRmlsZVN5bmPmlofku7blkIzmraXova/ku7bvvIzpnIDopoHlpIfku73nmoTmlofku7bmmK/igJxFOlzlhazlj7jigJ3mlofku7blpLnjgILopoHmsYLmr48x5bCP5pe26Ieq5Yqo6ZWc5YOP5aSH5Lu95Yiw6L+c56iL55S16ISR5LitPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNTM2Mzktb3N6c3p6MCIgZGF0YS1ub2RlLWluZGV4PSIzIiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE1NDQ0MyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7ms6jmhI/vvJrnlLHkuo7lpIfku73nmoTmlbDmja7mr5TovoPmlY/mhJ/vvIzmiYDku6XkuI3og73kvb/nlKhmdHDljY/orq7vvIzlj6rog73kvb/nlKhzZnRw5oiWZnRwc+WNj+iuruOAguS9hmZ0cHPljY/orq7nm67liY3lpb3lpJrlkIzmraXova/ku7bpg73kuI3mlK/mjIHvvIzogIzkuJTmv5LkuLTmt5jmsbDvvIzmiYDku6Xlj6rog73nlKhzZnRw5Y2P6K6u44CC5Y+m5aSW77yM5aaC5p6c5piv5L2/55SodnBu5oiW6ICF5YW25a6D5Yqg5a+G6ZO+5o6l5Yiw6L+c56iL55S16ISR55qE77yM5Lmf5Y+v5Lul5L2/55SoZnRw5Y2P6K6uPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtc3VidHlwZT0iaDUiIGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNTM5NTAtazRoenhlayIgZGF0YS1ub2RlLWluZGV4PSI0IiBkYXRhLXR5cGU9Ik5vZGVIZWFkaW5nIiBjbGFzcz0iaDUgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTU0ODQ5Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPui9r+S7tueJiOacrDwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTU0MDI3LTlyNzVnc2ciIGRhdGEtbm9kZS1pbmRleD0iNSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNTQyNTAiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+c2Vydi1177yaU2Vydi1V566A5L2T5Lit5paH56C06Kej54mIdjE1LjEuNjwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTU0MDQ5LThlcjBuaXIiIGRhdGEtbm9kZS1pbmRleD0iNiIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNTQzNTEiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+RnJlZUZpbGVTeW5j77yaRnJlZUZpbGVTeW5jXzEzLjdfV2luZG93czwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTU0MDU5LTlwa3Q3MmsiIGRhdGEtbm9kZS1pbmRleD0iNyIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNTQ0MjciPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+eGZ0cO+8iOWPr+mAie+8ie+8mnhmdHA357u/6Imy54mIPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNTM1MTItMnp1cGF5dyIgZGF0YS1ub2RlLWluZGV4PSI4IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE1NDgxMSI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7ms6jmhI/vvJrmnIDlpb3kuKXmoLzmjInnhafku6XkuIrniYjmnKzpg6jnvbLjgILlt7Lor5Xov4fkuI3lkIzniYjmnKzvvIzmnInkupvmmK9zZXJ2LXXniYjmnKzlnKh3aW435LiL5LiN5aW95a6J6KOF77yM5oiW6ICF5LiN5aW956C06Kej77yM5pyJ5LqbRnJlZUZpbGVTeW5j54mI5pys5q+U6L6D5paw77yM5a+86Ie05bey5pS+5byD5aW95aSa5pen55qEc2Z0cOWKoOWvhuWNj+iuru+8jOacgOWQjuaXoOazlei/nuaOpeOAguiAjOS7peS4iuS4pOS4qui9r+S7tueJiOacrOeahOWNj+iuruaYr+acgOWQiOmAguWMuemFjeeahOOAgjwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLXN1YnR5cGU9Img1IiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTU0ODMwLXlqMHNobWgiIGRhdGEtbm9kZS1pbmRleD0iOSIgZGF0YS10eXBlPSJOb2RlSGVhZGluZyIgY2xhc3M9Img1IHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcyMjEwMTQzNCI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7lronoo4XlkoznoLTop6NzZXJ2LXU8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE1NDg0OS1yOWtyN29vIiBkYXRhLW5vZGUtaW5kZXg9IjEwIiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE1NTQ0OSI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7lj6/ku6Xlronoo4XliLDlhbblroPnm67lvZXvvIzlhbblroPpu5jorqQ8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE1NTQwMC1zdGUzOGFhIiBkYXRhLW5vZGUtaW5kZXg9IjExIiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcyMjEwMTQzNCI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNS01NC0xMi0yMDI2MDcxNjE1NTUzMy13ZmtsdTI5LmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNS01NC0xMi0yMDI2MDcxNjE1NTUzMy13ZmtsdTI5LmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNS01NC0xMiI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNTU0MDMtMWc2MHljOSIgZGF0YS1ub2RlLWluZGV4PSIxMiIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNTU1MTQiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+5re75Yqg5Yiw6Ziy54Gr5aKZ5L6L5aSW77yaPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNTU1MTUtZ2Z4bGM3NSIgZGF0YS1ub2RlLWluZGV4PSIxMyIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNTU1MTYiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTUtNTUtMDItMjAyNjA3MTYxNTU2MzItOXM0bHEzeS5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTUtNTUtMDItMjAyNjA3MTYxNTU2MzItOXM0bHEzeS5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTUtNTUtMDIiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTU1NDAzLTA2djAzcTAiIGRhdGEtbm9kZS1pbmRleD0iMTQiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTU1ODE3Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuWmguaenOaDs+aWueS+v+eahO+8jOWPr+S7pemAieaLqeW8gOWQr+WIsOi3r+eUseWZqOeahHVwbnDvvIzkvYbov5nmoLfkvJrmmKDlsITlvojlpJrnq6/lj6Plh7rljrvjgILmiJHlj6rluIzmnJvlvIDlkK/mnIDlsI/mnI3liqHvvIzmmKDlsITmnIDlsJHnq6/lj6PvvIzmiYDku6XmiJHkuI3lvIDlkK9VUG5Q77yM5ZCO5pyf5YaN5Zyo6Lev55Sx5Zmo5LiK5omL5bel5pig5bCE56uv5Y+jPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNTU1NTAteDduZnRuOCIgZGF0YS1ub2RlLWluZGV4PSIxNSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNTU1NTAiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTUtNTUtNDYtMjAyNjA3MTYxNTU3MDYtbHBnZWpmNS5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTUtNTUtNDYtMjAyNjA3MTYxNTU3MDYtbHBnZWpmNS5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTUtNTUtNDYiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTU1NDAzLXBnZ3ozcDgiIGRhdGEtbm9kZS1pbmRleD0iMTYiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTU1ODU2Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuWujOaIkOWQjuWFiOS4jeimgei/m+WFpTwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTU1ODU2LXNzZnRpN3EiIGRhdGEtbm9kZS1pbmRleD0iMTciIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTU1ODU3Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE1LTU4LTQ3LTIwMjYwNzE2MTYwMDEzLWdmMmljOHYuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE1LTU4LTQ3LTIwMjYwNzE2MTYwMDEzLWdmMmljOHYuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE1LTU4LTQ3Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE1NTQwMy1vanhjN2V2IiBkYXRhLW5vZGUtaW5kZXg9IjE4IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MDAwNyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7lj7PkuIvop5LlgZzmraLmnI3liqHlubbpgIDlh7rvvIzlh4blpIfnoLTop6M8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2MDAwOC1ta2kwNDQyIiBkYXRhLW5vZGUtaW5kZXg9IjE5IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MDAwOSI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNS01OS0zOS0yMDI2MDcxNjE2MDEyNS02Z29tdDNyLmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNS01OS0zOS0yMDI2MDcxNjE2MDEyNS02Z29tdDNyLmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNS01OS0zOSI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNTU0MDMtdTg4bnJwaiIgZGF0YS1ub2RlLWluZGV4PSIyMCIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjAxMzIiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+5bCGQ3JhY2vmlofku7blpLnkuK3nmoRQYS5leGXnoLTop6Pmlofku7blpI3liLbliLBzZXJ2LXXnmoTlronoo4Xnm67lvZXkuIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2MDEzMy1hM3duOGtuIiBkYXRhLW5vZGUtaW5kZXg9IjIxIiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MDIwNiI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0wMi0wNC0yMDI2MDcxNjE2MDMyMi1seml2Y3VuLmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0wMi0wNC0yMDI2MDcxNjE2MDMyMi1seml2Y3VuLmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNi0wMi0wNCI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNTU0MDMtdHdxN2dsaSIgZGF0YS1ub2RlLWluZGV4PSIyMiIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjA4MDIiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+6L+Q6KGMcGEuZXhl77yM6ZqP5L6/6L6T5YWl55So5oi35ZCN5ZKMRU1BSUzvvIzngrlwYXRjaO+8jOWkjeWItuWvhumSpTwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTYwNDMwLW5rZnZ4d2EiIGRhdGEtbm9kZS1pbmRleD0iMjMiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTYwNzQ0Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTA3LTQxLTIwMjYwNzE2MTYwODU5LXc4ZTd1dHEuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTA3LTQxLTIwMjYwNzE2MTYwODU5LXc4ZTd1dHEuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE2LTA3LTQxIj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE1NTQwMy1qN2YxaGpwIiBkYXRhLW5vZGUtaW5kZXg9IjI0IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MTExNCI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj5GWXFNalEwZVVvVlZHdFRuRHVsTWN1cDFrNExzbmxHTUZZcU1qUldLCitvcVBoRU1PQ3U5VUdpc1k4UlpUZmU4ZDl1NkE4VjdrY09iZzRsWGljT2JnNGkzOVBlaD08L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE1NTQwMy0wMDAxenh4IiBkYXRhLW5vZGUtaW5kZXg9IjI1IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MTIyOSI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7ov5DooYxTZXJ2LXXnqIvluo/vvIzlhYjkuI3nlKjmlrDlu7rln588L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2MTIzMC1mZXNneTQ4IiBkYXRhLW5vZGUtaW5kZXg9IjI2IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MTI0OCI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0xMi00NS0yMDI2MDcxNjE2MTQwMy1vdTgwODV3LmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0xMi00NS0yMDI2MDcxNjE2MTQwMy1vdTgwODV3LmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNi0xMi00NSI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNjEyNTEtaXR6eXhjdiIgZGF0YS1ub2RlLWluZGV4PSIyNyIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjE3MzYiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+5pyN5Yqh5Zmo6K+m57uG5L+h5oGv4oCU4oCU6K645Y+v6K+B5L+h5oGv4oCU4oCU5ouJ5Yiw6aG16Z2i5LiL5bqV4oCU4oCU6L6T5YWl5o6I5p2DSUTigJTigJTovpPlhaXliJrmiY3lpI3liLblh7rmnaXnmoTlr4bpkqXigJTigJTkv53lrZjigJTigJTlrozmiJDms6jlhow8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2MTQwOS1wZzNzcnMwIiBkYXRhLW5vZGUtaW5kZXg9IjI4IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MTQwOSI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0xNC0wNS0yMDI2MDcxNjE2MTUyNS1xYTZ4YXczLmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0xNC0wNS0yMDI2MDcxNjE2MTUyNS1xYTZ4YXczLmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNi0xNC0wNSI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNTU0MDMtc3hpb21wbSIgZGF0YS1ub2RlLWluZGV4PSIyOSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNTU0MDMiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtMTUtMDYtMjAyNjA3MTYxNjE2MjUtZzB0ZHI0aS5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtMTUtMDYtMjAyNjA3MTYxNjE2MjUtZzB0ZHI0aS5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTYtMTUtMDYiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTU1NDAzLWpwMTl2NmoiIGRhdGEtbm9kZS1pbmRleD0iMzAiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTYxNzE4Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTE3LTExLTIwMjYwNzE2MTYxODM0LTZmZjk2bWkuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTE3LTExLTIwMjYwNzE2MTYxODM0LTZmZjk2bWkuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE2LTE3LTExIj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2MTgxOS1sOHl1M2cxIiBkYXRhLW5vZGUtaW5kZXg9IjMxIiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MTgyMCI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0xOC0xNi0yMDI2MDcxNjE2MTkzNi1oOWM0ZWo1LmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0xOC0xNi0yMDI2MDcxNjE2MTkzNi1oOWM0ZWo1LmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNi0xOC0xNiI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNjE5MTItMHUyZzR6aiIgZGF0YS1ub2RlLWluZGV4PSIzMiIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjE5MTMiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtMTktMDctMjAyNjA3MTYxNjIwMjkta3c3dmJ0ai5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtMTktMDctMjAyNjA3MTYxNjIwMjkta3c3dmJ0ai5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTYtMTktMDciPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTYyMDAzLXRkYm54bXUiIGRhdGEtbm9kZS1pbmRleD0iMzMiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTYyMDUyIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuS7peS4i+aYr+WIm+W7uuWfn+WSjOeUqOaIt++8jOaMieWbvuaTjeS9nOWNs+WPrzwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTYyMDU0LWY4c2c2cnYiIGRhdGEtbm9kZS1pbmRleD0iMzQiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTYyMTM0Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTIxLTMxLTIwMjYwNzE2MTYyMjQ5LXdiNnZtaGwuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTIxLTMxLTIwMjYwNzE2MTYyMjQ5LXdiNnZtaGwuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE2LTIxLTMxIj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2MjEzOC1uNHUzYjVuIiBkYXRhLW5vZGUtaW5kZXg9IjM1IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MjIwMyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0yMi0wMS0yMDI2MDcxNjE2MjMxOS1kcWpnMTBtLmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0yMi0wMS0yMDI2MDcxNjE2MjMxOS1kcWpnMTBtLmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNi0yMi0wMSI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNjI0MjktOG1renRucSIgZGF0YS1ub2RlLWluZGV4PSIzNiIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjI0MzAiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtMjQtMjUtMjAyNjA3MTYxNjI1NDYtengycm5zaS5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtMjQtMjUtMjAyNjA3MTYxNjI1NDYtengycm5zaS5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTYtMjQtMjUiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTYyNzE0LWVkOTk2cXUiIGRhdGEtbm9kZS1pbmRleD0iMzciIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTYyNzE1Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTI3LTEyLTIwMjYwNzE2MTYyODMxLXNueDgwdGYuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTI3LTEyLTIwMjYwNzE2MTYyODMxLXNueDgwdGYuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE2LTI3LTEyIj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2MjgyNi00cWRxNWJ0IiBkYXRhLW5vZGUtaW5kZXg9IjM4IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MjgyNyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0yOC0yMS0yMDI2MDcxNjE2Mjk0Mi0yb2E1aWh1LmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0yOC0yMS0yMDI2MDcxNjE2Mjk0Mi0yb2E1aWh1LmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNi0yOC0yMSI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNjI5MDktcWRxM3VuYSIgZGF0YS1ub2RlLWluZGV4PSIzOSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjI5MTAiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtMjktMDctMjAyNjA3MTYxNjMwMjYtNm1kZWs0aC5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtMjktMDctMjAyNjA3MTYxNjMwMjYtNm1kZWs0aC5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTYtMjktMDciPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTYyOTEzLXh1MGNoY2siIGRhdGEtbm9kZS1pbmRleD0iNDAiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTYzMDE3Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTMwLTE1LTIwMjYwNzE2MTYzMTMzLXF3Ym9ud3UuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTMwLTE1LTIwMjYwNzE2MTYzMTMzLXF3Ym9ud3UuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE2LTMwLTE1Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2MzUxNy1naXVkNHRhIiBkYXRhLW5vZGUtaW5kZXg9IjQxIiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MzUxOCI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0zNS0xMi0yMDI2MDcxNjE2MzYzNC1hcHdudXE0LmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0zNS0xMi0yMDI2MDcxNjE2MzYzNC1hcHdudXE0LmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNi0zNS0xMiI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNjM1MjItZHM4bW9uOSIgZGF0YS1ub2RlLWluZGV4PSI0MiIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjM2MDMiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+5Yqg54K56Zq+5bqm77yM5oOz5Y+m5aSW5ZyoROebmOaWsOW7uuS4qkJBQ0tVUOaWh+S7tuWkue+8jOS4k+mXqOeUqOWug+adpeijheWkh+S7veaWh+S7tueahDwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTYzNjA5LXVndWNnNm4iIGRhdGEtbm9kZS1pbmRleD0iNDMiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTYzNzU1Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTM3LTQ4LTIwMjYwNzE2MTYzOTExLWxzMzZ4eDUuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTM3LTQ4LTIwMjYwNzE2MTYzOTExLWxzMzZ4eDUuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE2LTM3LTQ4Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2MzYwOS1nbXh0c2g5IiBkYXRhLW5vZGUtaW5kZXg9IjQ0IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2MzkxNyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0zOS0xNC0yMDI2MDcxNjE2NDAzMy1zZzg3OGs5LmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi0zOS0xNC0yMDI2MDcxNjE2NDAzMy1zZzg3OGs5LmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNi0zOS0xNCI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNjM2MDktN3JtMHJkZiIgZGF0YS1ub2RlLWluZGV4PSI0NSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjQ0MDkiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtNDQtMDUtMjAyNjA3MTYxNjQ1MjQtaTF3M3Bhay5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtNDQtMDUtMjAyNjA3MTYxNjQ1MjQtaTF3M3Bhay5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTYtNDQtMDUiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTYzNjEwLXE3OHQyZnkiIGRhdGEtbm9kZS1pbmRleD0iNDYiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTY0NTI0Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTQ1LTE5LTIwMjYwNzE2MTY0NjQwLTJtMzEyMjcuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTQ1LTE5LTIwMjYwNzE2MTY0NjQwLTJtMzEyMjcuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE2LTQ1LTE5Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2MzYxMC04cjRnZjRoIiBkYXRhLW5vZGUtaW5kZXg9IjQ3IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2NDcxOCI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7ms6jmhI/vvJromZrmi5/ot6/lvoTlkoznm67lvZXorr/pl67lv4XpobvmmK/kuIDotbforr7nva7nmoTvvIzlhYjorr7nva7omZrmi5/ot6/lvoTvvIzlho3orr7nva7nm67lvZXorr/pl67vvIzkuKTogIXkuI3og73lsJHjgII8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2NDYwMS15OGJzNmVqIiBkYXRhLW5vZGUtaW5kZXg9IjQ4IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2NDc1OCI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi00Ny01NS0yMDI2MDcxNjE2NDkxMy1zejdsZ2NlLmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNi00Ny01NS0yMDI2MDcxNjE2NDkxMy1zejdsZ2NlLmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNi00Ny01NSI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNjM2MTAtMjFoOGw2eiIgZGF0YS1ub2RlLWluZGV4PSI0OSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjQ4MTMiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtNDgtMTEtMjAyNjA3MTYxNjQ5MjktMGtsdjZjbC5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtNDgtMTEtMjAyNjA3MTYxNjQ5MjktMGtsdjZjbC5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTYtNDgtMTEiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTcwNDU0LTBrdmMxenIiIGRhdGEtbm9kZS1pbmRleD0iNTAiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTcwNTIxIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuacgOWQjuimgeiusOW+l+eCueKAnDxzcGFuIGRhdGEtdHlwZT0ic3Ryb25nIj7kv53lrZg8L3NwYW4+4oCd77yM5a6M5oiQ55So5oi36YWN572uPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNzA1MDctZDMzbnZnZCIgZGF0YS1ub2RlLWluZGV4PSI1MSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNzA1MDciPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+PC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNjM2MTAtdm83aTYxciIgZGF0YS1ub2RlLWluZGV4PSI1MiIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjQ5MjYiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+6YWN572u5pyN5Yqh5Zmo5YW25a6D5pa56Z2iPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNjM2MTAtY250dmtyYyIgZGF0YS1ub2RlLWluZGV4PSI1MyIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjUyNTIiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+5aaC5p6c5byA6YCaZnRw5pyN5Yqh77yM5Lya5b6I5a655piT6KKr5aSW55WM5omr5o+P56uv5Y+j77yM5Y+v5qC55o2u5Lul5LiL6K6+572u6ZmQ5Yi277yM5YW35L2T5Y+v5oyJ5a6e6ZmF5oOF5Ya16K6+572u77yM5Y+v5YeP5bCR6KKr5omr5o+P6aKR546H77yMPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNjUwNDUtajljYzRocSIgZGF0YS1ub2RlLWluZGV4PSI1NCIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjUwNDYiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtNTAtNDItMjAyNjA3MTYxNjUyMDEtN2plbjg4by5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtNTAtNDItMjAyNjA3MTYxNjUyMDEtN2plbjg4by5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTYtNTAtNDIiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTcxMjQ1LWhqYjdpdWwiIGRhdGEtbm9kZS1pbmRleD0iNTUiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTcxMjQ3Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE3LTEyLTI3LTIwMjYwNzE2MTcxNDAzLW5lYjdsNGEuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE3LTEyLTI3LTIwMjYwNzE2MTcxNDAzLW5lYjdsNGEuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE3LTEyLTI3Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE2NTQyNy14Y2loYzRiIiBkYXRhLW5vZGUtaW5kZXg9IjU2IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE2NTQ1MyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7ku6XkuIvmmK/phY3nva5zZnRw55qE5Yqg5a+G6K+B5Lmm5q2l6aqkPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNjU0NTQtem5wYWJuYyIgZGF0YS1ub2RlLWluZGV4PSI1NyIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNjU2MDEiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtNTUtNTgtMjAyNjA3MTYxNjU3MTYtdHJnemZiay5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTYtNTUtNTgtMjAyNjA3MTYxNjU3MTYtdHJnemZiay5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTYtNTUtNTgiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTY1OTQ3LTV6azhnZW8iIGRhdGEtbm9kZS1pbmRleD0iNTgiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTY1OTQ5Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTU5LTQ0LTIwMjYwNzE2MTcwMTA1LWgyMnVzODkuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE2LTU5LTQ0LTIwMjYwNzE2MTcwMTA1LWgyMnVzODkuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE2LTU5LTQ0Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE3MDAyNC1sNDI5enA3IiBkYXRhLW5vZGUtaW5kZXg9IjU5IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE3MDAyNSI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNy0wMC0yMS0yMDI2MDcxNjE3MDE0MC1rcmNieGNtLmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNy0wMC0yMS0yMDI2MDcxNjE3MDE0MC1rcmNieGNtLmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNy0wMC0yMSI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNzAxMDAtcWw1YjMzYyIgZGF0YS1ub2RlLWluZGV4PSI2MCIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNzAxMDIiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTctMDAtNTYtMjAyNjA3MTYxNzAyMTctbmFyMnk5bC5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTctMDAtNTYtMjAyNjA3MTYxNzAyMTctbmFyMnk5bC5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTctMDAtNTYiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTcwMTIwLWZiNm9zaTUiIGRhdGEtbm9kZS1pbmRleD0iNjEiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTcwMjUwIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPui/meagt+WfuuacrOiuvue9ruWujOaIkOS6hu+8jOS9hui/meagt+eUqOaIt+aXouWPr+S9v+eUqGZ0cO+8jOS5n+WPr+S9v+eUqHNmdHDjgILnjrDlnKjlm57liLDnlKjmiLforr7nva7vvIzorr7nva5ia191c2Vy55So5oi35Y+q6ZmQc2Z0cDwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTcwNzExLXFiazV6bHoiIGRhdGEtbm9kZS1pbmRleD0iNjIiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTcwNzEyIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE3LTA3LTA1LTIwMjYwNzE2MTcwODI3LXk5ZmdwbWwuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE3LTA3LTA1LTIwMjYwNzE2MTcwODI3LXk5ZmdwbWwuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE3LTA3LTA1Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE3MDczNC1xY2didTJ2IiBkYXRhLW5vZGUtaW5kZXg9IjYzIiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE3MDczNSI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNy0wNy0zMi0yMDI2MDcxNjE3MDg1MC1lZG12eDZoLmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8xNy0wNy0zMi0yMDI2MDcxNjE3MDg1MC1lZG12eDZoLmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8xNy0wNy0zMiI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNzA3MzctbHJhNnpwaCIgZGF0YS1ub2RlLWluZGV4PSI2NCIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYxNzA4MDMiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTctMDgtMDAtMjAyNjA3MTYxNzA5MTktbTFhM3BoNy5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMTctMDgtMDAtMjAyNjA3MTYxNzA5MTktbTFhM3BoNy5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMTctMDgtMDAiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTcwODM4LXRhNGtnOWYiIGRhdGEtbm9kZS1pbmRleD0iNjUiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTcwOTAxIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuaEj+aAneaYr+WKoOWkmuS4gOadoeetlueVpe+8jOimhueblum7mOiupOeahOiAjOW3sjwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTcwODI1LTk2NXRybWciIGRhdGEtbm9kZS1pbmRleD0iNjYiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MTcwODI2Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE3LTA4LTIyLTIwMjYwNzE2MTcwOTQxLWZ1M24wa2suanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzE3LTA4LTIyLTIwMjYwNzE2MTcwOTQxLWZ1M24wa2suanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzE3LTA4LTIyIj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjE3MDkwNC0zOWR2dWppIiBkYXRhLW5vZGUtaW5kZXg9IjY3IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjE3MTAwMyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7mnIDlkI7orrDlvpfngrk8c3BhbiBkYXRhLXR5cGU9InN0cm9uZyI+4oCc5L+d5a2Y4oCdPC9zcGFuPuWujOaIkOOAguWIsOatpO+8jOW3suWujOaIkHNlcnYtdemFjee9rjwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLXN1YnR5cGU9Img1IiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MjMxNjM0LTE4N255cXEiIGRhdGEtbm9kZS1pbmRleD0iNjgiIGRhdGEtdHlwZT0iTm9kZUhlYWRpbmciIGNsYXNzPSJoNSBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzE4MTUiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+6Lev55Sx5ZmoPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNzA5NDQtbXRwajBuaCIgZGF0YS1ub2RlLWluZGV4PSI2OSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzE3MzAiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+6Lev55Sx5Zmo6K6+572u77yM6Ziy54Gr5aKZ5pig5bCE5Lul5LiL56uv5Y+j77yI5bem5Li65YaF572R56uv5Y+j77yM5Y+z5Li65aSW572R56uv5Y+j77yJ77yM5aaC5p6c5Y+q5byA6YCac2Z0cO+8jOWNs+WPqumcgOaYoOWwhDIy56uv5Y+j5Y2z5Y+v77yaCjIx4oCUJmd0OzIwMjEKMjLigJQmZ3Q7MjAyMgozMDU1MS0zMDU2MOKAlCZndDszMDU1MS0zMDU2MDwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLXN1YnR5cGU9Img1IiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MTcxNTQxLW4xcG94OHEiIGRhdGEtbm9kZS1pbmRleD0iNzAiIGRhdGEtdHlwZT0iTm9kZUhlYWRpbmciIGNsYXNzPSJoNSBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzI4MTMiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+ZnRw5a6i5oi356uv5rWL6K+VPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYyMzE4MTUtYzY2b3cweiIgZGF0YS1ub2RlLWluZGV4PSI3MSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzIzNTMiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtMjMtNTAtMjAyNjA3MTYyMzI1MDctdmJ1ZG5xdC5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtMjMtNTAtMjAyNjA3MTYyMzI1MDctdmJ1ZG5xdC5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMjMtMjMtNTAiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MjMyMzU0LWRybXV5YWwiIGRhdGEtbm9kZS1pbmRleD0iNzIiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MjMyNDIwIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTI0LTE3LTIwMjYwNzE2MjMyNTM0LTJreGNyb2cuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTI0LTE3LTIwMjYwNzE2MjMyNTM0LTJreGNyb2cuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzIzLTI0LTE3Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjIzMjM0MS00dGd2MGZ2IiBkYXRhLW5vZGUtaW5kZXg9IjczIiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjIzMjM0MiI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy0yMy0yOC0yMDI2MDcxNjIzMjQ1Ni1rdmQ1MWh1LmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy0yMy0yOC0yMDI2MDcxNjIzMjQ1Ni1rdmQ1MWh1LmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8yMy0yMy0yOCI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYxNzE2MDAtYWJvdnk4cSIgZGF0YS1ub2RlLWluZGV4PSI3NCIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzI1MzUiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtMjUtMjItMjAyNjA3MTYyMzI2NDktMWZxMHZ6NC5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtMjUtMjItMjAyNjA3MTYyMzI2NDktMWZxMHZ6NC5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMjMtMjUtMjIiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MjMyNTM3LXF5dDR6MzciIGRhdGEtbm9kZS1pbmRleD0iNzUiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MjMyNjIwIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTI2LTE3LTIwMjYwNzE2MjMyNzM1LTYwaGlrYWIuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTI2LTE3LTIwMjYwNzE2MjMyNzM1LTYwaGlrYWIuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzIzLTI2LTE3Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1zdWJ0eXBlPSJoNSIgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjIzMjcxOS1ybm5jdmF0IiBkYXRhLW5vZGUtaW5kZXg9Ijc2IiBkYXRhLXR5cGU9Ik5vZGVIZWFkaW5nIiBjbGFzcz0iaDUgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MjM1NTQ3Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPkZyZWVGaWxlU3luY+i9r+S7tjwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MjMyODEzLXFjcmN2NXoiIGRhdGEtbm9kZS1pbmRleD0iNzciIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MjMzNDU3Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTM0LTUyLTIwMjYwNzE2MjMzNjEyLWh3MWtpbDEuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTM0LTUyLTIwMjYwNzE2MjMzNjEyLWh3MWtpbDEuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzIzLTM0LTUyIj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjIzMzUwMi0ycTR2dDdsIiBkYXRhLW5vZGUtaW5kZXg9Ijc4IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjIzMzUzNiI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7ov5DooYw8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjIzMzUzNy1xbzhnczV0IiBkYXRhLW5vZGUtaW5kZXg9Ijc5IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjIzMzUzOCI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy0zNS0zMS0yMDI2MDcxNjIzMzY1Mi0zY3RqYXBkLmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy0zNS0zMS0yMDI2MDcxNjIzMzY1Mi0zY3RqYXBkLmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8yMy0zNS0zMSI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYyMzM1MzktbXowZnYybiIgZGF0YS1ub2RlLWluZGV4PSI4MCIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzM3MzMiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+6ZyA6KaB5aSH5Lu955qE5paH5Lu25aS55piv77yaPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYyMzM3MzQtODM0OWJ3aSIgZGF0YS1ub2RlLWluZGV4PSI4MSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzM3MzUiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtMzctMTctMjAyNjA3MTYyMzM4NTAtaXQ4dXE4MC5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtMzctMTctMjAyNjA3MTYyMzM4NTAtaXQ4dXE4MC5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMjMtMzctMTciPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MjMzNzM4LW02YWF1bWEiIGRhdGEtbm9kZS1pbmRleD0iODIiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MjMzODI5Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuWQjOatpeiuvue9rjwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MjMzODMwLXhxano2cXciIGRhdGEtbm9kZS1pbmRleD0iODMiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MjMzODMxIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTM4LTIyLTIwMjYwNzE2MjMzOTQ2LTJ5cnlnZ2YuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTM4LTIyLTIwMjYwNzE2MjMzOTQ2LTJ5cnlnZ2YuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzIzLTM4LTIyIj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjIzMzk1MS14YXoxNm42IiBkYXRhLW5vZGUtaW5kZXg9Ijg0IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjIzMzk1MyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy0zOS00OS0yMDI2MDcxNjIzNDEwNy13bzdybGIzLmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy0zOS00OS0yMDI2MDcxNjIzNDEwNy13bzdybGIzLmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8yMy0zOS00OSI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYyMzM5NTUtbDBpc2ozeSIgZGF0YS1ub2RlLWluZGV4PSI4NSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzQxMzMiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtNDEtMzAtMjAyNjA3MTYyMzQyNDctOWQwYWdsay5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtNDEtMzAtMjAyNjA3MTYyMzQyNDctOWQwYWdsay5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMjMtNDEtMzAiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MjM0NDEwLWZxb2FueXgiIGRhdGEtbm9kZS1pbmRleD0iODYiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MjM0NDExIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTQ0LTA4LTIwMjYwNzE2MjM0NTI2LXIxam5tZ3AuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTQ0LTA4LTIwMjYwNzE2MjM0NTI2LXIxam5tZ3AuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzIzLTQ0LTA4Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjIzNDUyMi13ZjgzYjhnIiBkYXRhLW5vZGUtaW5kZXg9Ijg3IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjIzNDUyMyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy00NS0yMC0yMDI2MDcxNjIzNDYzNy1vOHVmenB0LmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy00NS0yMC0yMDI2MDcxNjIzNDYzNy1vOHVmenB0LmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8yMy00NS0yMCI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYyMzQ3MDItMWd2N25jNiIgZGF0YS1ub2RlLWluZGV4PSI4OCIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzQ3MDMiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtNDYtNTQtMjAyNjA3MTYyMzQ4MTgtZ2FvNHpwbS5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtNDYtNTQtMjAyNjA3MTYyMzQ4MTgtZ2FvNHpwbS5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMjMtNDYtNTQiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MjM0NzA2LWloMDd4Z2kiIGRhdGEtbm9kZS1pbmRleD0iODkiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MjM1MDU1Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTUwLTUzLTIwMjYwNzE2MjM1MjEwLWZ6NjNldjQuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTUwLTUzLTIwMjYwNzE2MjM1MjEwLWZ6NjNldjQuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzIzLTUwLTUzIj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjIzNDg1MS1wMGhnNTZpIiBkYXRhLW5vZGUtaW5kZXg9IjkwIiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjIzNDkyNSI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy00OS0yMy0yMDI2MDcxNjIzNTA0MC1mcGd0cHl2LmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy00OS0yMy0yMDI2MDcxNjIzNTA0MC1mcGd0cHl2LmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8yMy00OS0yMyI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYyMzQ5NDIteTYwdGMxaCIgZGF0YS1ub2RlLWluZGV4PSI5MSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzUyMzUiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+5Y+v5Lul5L+u5pS55LiL5pel5b+X6Lev5b6EPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYyMzUyMzYtaG1xeXB3NyIgZGF0YS1ub2RlLWluZGV4PSI5MiIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzUyMzciPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtNTItMjMtMjAyNjA3MTYyMzUzNTEtdHBydDN4OC5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtNTItMjMtMjAyNjA3MTYyMzUzNTEtdHBydDN4OC5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMjMtNTItMjMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLXN1YnR5cGU9Img1IiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MjM1NDIyLTVwdDF6N3EiIGRhdGEtbm9kZS1pbmRleD0iOTMiIGRhdGEtdHlwZT0iTm9kZUhlYWRpbmciIGNsYXNzPSJoNSBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTcwMDEzNDYiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+5Lul5LiL5piv6K6+572u6Ieq5Yqo5ZCM5q2lPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYyMzU1NTYtaWJ6ZnZ3eCIgZGF0YS1ub2RlLWluZGV4PSI5NCIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzU2MTciPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+6KaB5rGC77ya5q+PMeWwj+aXtuiHquWKqOWQjOatpTwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MjM1NDQzLWN5eGxuN2IiIGRhdGEtbm9kZS1pbmRleD0iOTUiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MjM1NjQxIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuaOp+WItumdouadv+KAlOKAlOeuoeeQhuW3peWFt+KAlOKAlOS7u+WKoeiuoeWIkueoi+W6jzwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE2MjM1NTQ2LXEyd3p2ZGUiIGRhdGEtbm9kZS1pbmRleD0iOTYiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE2MjM1NTQ3Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTU1LTQzLTIwMjYwNzE2MjM1NzAyLTlrYW0zcHQuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE2XzIzLTU1LTQzLTIwMjYwNzE2MjM1NzAyLTlrYW0zcHQuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE2XzIzLTU1LTQzIj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNjIzNTcxOS1sd3Uzd2VwIiBkYXRhLW5vZGUtaW5kZXg9Ijk3IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNjIzNTcyMCI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy01Ny0xOC0yMDI2MDcxNjIzNTgzNS1oaXpmd2IwLmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xNl8yMy01Ny0xOC0yMDI2MDcxNjIzNTgzNS1oaXpmd2IwLmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xNl8yMy01Ny0xOCI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTYyMzU5MTYtd2dhazlzNSIgZGF0YS1ub2RlLWluZGV4PSI5OCIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTYyMzU5MTciPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtNTktMTUtMjAyNjA3MTcwMDAwMzItMms3ZXZnYy5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTZfMjMtNTktMTUtMjAyNjA3MTcwMDAwMzItMms3ZXZnYy5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTZfMjMtNTktMTUiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE3MDAwMDE3LWhycWR0cWciIGRhdGEtbm9kZS1pbmRleD0iOTkiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE3MDAwMDE4Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE3XzAwLTAwLTE2LTIwMjYwNzE3MDAwMTMzLWRvcDNvOHkuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE3XzAwLTAwLTE2LTIwMjYwNzE3MDAwMTMzLWRvcDNvOHkuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE3XzAwLTAwLTE2Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNzAwMDMxOC1iNHI1NmMwIiBkYXRhLW5vZGUtaW5kZXg9IjEwMCIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTcwMDAzMjAiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTdfMDAtMDMtMTctMjAyNjA3MTcwMDA0MzUtNngyYzV1ai5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTdfMDAtMDMtMTctMjAyNjA3MTcwMDA0MzUtNngyYzV1ai5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTdfMDAtMDMtMTciPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE3MDAwMzIzLXQ1ZTduazUiIGRhdGEtbm9kZS1pbmRleD0iMTAxIiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNzAwMDQ0NyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7ms6jmhI/kuIrpnaLnmoTvvIzigJznqIvluo/miJbohJrmnKzigJ3pgqPph4zmmK/nqIvluo/nmoTot6/lvoTvvJoiQzpcUHJvZ3JhbSBGaWxlc1xGcmVlRmlsZVN5bmNcRnJlZUZpbGVTeW5jLmV4ZSLvvIzlj4LmlbDmmK/mibnlpITnkIbot6/lvoTvvJpEOlxGcmVlRmlsZVN5bmNfY29uZmlnXFN5bmNfYmF0Y2guZmZzX2JhdGNoPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTcwMDA0MTQtbmhjdTV6ZSIgZGF0YS1ub2RlLWluZGV4PSIxMDIiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE3MDAwNTExIj48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE3XzAwLTA1LTA5LTIwMjYwNzE3MDAwNjI2LTB0eHVwc2guanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE3XzAwLTA1LTA5LTIwMjYwNzE3MDAwNjI2LTB0eHVwc2guanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE3XzAwLTA1LTA5Ij48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNzAwMDU1My1heXAzdnF4IiBkYXRhLW5vZGUtaW5kZXg9IjEwMyIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTcwMDA1NTQiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTdfMDAtMDUtNTAtMjAyNjA3MTcwMDA3MDgtd2Rsa3Fkci5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTdfMDAtMDUtNTAtMjAyNjA3MTcwMDA3MDgtd2Rsa3Fkci5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTdfMDAtMDUtNTAiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE3MDAwNTU3LXoxNDQxeW0iIGRhdGEtbm9kZS1pbmRleD0iMTA0IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNzAwMDY0NiI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7mnIDlkI7ngrnnoa7lrprvvIzovpPlhaXnrqHnkIblkZjotKblj7flkozlr4bnoIE8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNzAwMDY0Ny1taHdhZWJuIiBkYXRhLW5vZGUtaW5kZXg9IjEwNSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTcwMDA2NDciPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+4oCLPHNwYW4gY29udGVudGVkaXRhYmxlPSJmYWxzZSIgZGF0YS10eXBlPSJpbWciIGNsYXNzPSJpbWciPjxzcGFuPiA8L3NwYW4+PHNwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uIHByb3R5bGUtaWNvbnMiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWljb24gcHJvdHlsZS1pY29uLS1vbmx5Ij48c3ZnIGNsYXNzPSJzdmciPjx1c2UgeGxpbms6aHJlZj0iI2ljb25Nb3JlIj48L3VzZT48L3N2Zz48L3NwYW4+PC9zcGFuPjxpbWcgc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTdfMDAtMDYtMzQtMjAyNjA3MTcwMDA4MDItZXNkdjV6ei5qcGciIGRhdGEtc3JjPSJhc3NldHMvUGl4UGluXzIwMjYtMDctMTdfMDAtMDYtMzQtMjAyNjA3MTcwMDA4MDItZXNkdjV6ei5qcGciIGxvYWRpbmc9ImxhenkiIGFsdD0iUGl4UGluXzIwMjYtMDctMTdfMDAtMDYtMzQiPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fZHJhZyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbl9fdGl0bGUiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuPiA8L3NwYW4+PC9zcGFuPuKAizwvZGl2PjxkaXYgY2xhc3M9InByb3R5bGUtYXR0ciIgY29udGVudGVkaXRhYmxlPSJmYWxzZSI+4oCLPC9kaXY+PC9kaXY+PGRpdiBkYXRhLW5vZGUtaWQ9IjIwMjYwNzE3MDAwODE2LXhwMjh0dzIiIGRhdGEtbm9kZS1pbmRleD0iMTA2IiBkYXRhLXR5cGU9Ik5vZGVQYXJhZ3JhcGgiIGNsYXNzPSJwIHByb3R5bGUtd3lzaXd5Zy0tc2VsZWN0IiB1cGRhdGVkPSIyMDI2MDcxNzAwMDgxNyI+PGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiIHNwZWxsY2hlY2s9ImZhbHNlIj7igIs8c3BhbiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBkYXRhLXR5cGU9ImltZyIgY2xhc3M9ImltZyI+PHNwYW4+IDwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb24gcHJvdHlsZS1pY29ucyI+PHNwYW4gY2xhc3M9InByb3R5bGUtaWNvbiBwcm90eWxlLWljb24tLW9ubHkiPjxzdmcgY2xhc3M9InN2ZyI+PHVzZSB4bGluazpocmVmPSIjaWNvbk1vcmUiPjwvdXNlPjwvc3ZnPjwvc3Bhbj48L3NwYW4+PGltZyBzcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xN18wMC0wOC0xNC0yMDI2MDcxNzAwMDkzMi1xMzlmM2hoLmpwZyIgZGF0YS1zcmM9ImFzc2V0cy9QaXhQaW5fMjAyNi0wNy0xN18wMC0wOC0xNC0yMDI2MDcxNzAwMDkzMi1xMzlmM2hoLmpwZyIgbG9hZGluZz0ibGF6eSIgYWx0PSJQaXhQaW5fMjAyNi0wNy0xN18wMC0wOC0xNCI+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX19kcmFnIj48L3NwYW4+PHNwYW4gY2xhc3M9InByb3R5bGUtYWN0aW9uX190aXRsZSI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4+IDwvc3Bhbj48L3NwYW4+4oCLPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTcwMDEzMjMtbjBjaHY3YyIgZGF0YS1ub2RlLWluZGV4PSIxMDciIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE3MDAxMzQ2Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPu+8iOS4uuS6hua1i+ivle+8jOW3suS/ruaUueS4uuavjzXliIbpkp/lkIzmraUpPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj48ZGl2IGRhdGEtbm9kZS1pZD0iMjAyNjA3MTcwMDExNDYtMjN1N2ljZyIgZGF0YS1ub2RlLWluZGV4PSIxMDgiIGRhdGEtdHlwZT0iTm9kZVBhcmFncmFwaCIgY2xhc3M9InAgcHJvdHlsZS13eXNpd3lnLS1zZWxlY3QiIHVwZGF0ZWQ9IjIwMjYwNzE3MDAxMjM1Ij48ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgc3BlbGxjaGVjaz0iZmFsc2UiPuKAizxzcGFuIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIGRhdGEtdHlwZT0iaW1nIiBjbGFzcz0iaW1nIj48c3Bhbj4gPC9zcGFuPjxzcGFuPjxzcGFuIGNsYXNzPSJwcm90eWxlLWFjdGlvbiBwcm90eWxlLWljb25zIj48c3BhbiBjbGFzcz0icHJvdHlsZS1pY29uIHByb3R5bGUtaWNvbi0tb25seSI+PHN2ZyBjbGFzcz0ic3ZnIj48dXNlIHhsaW5rOmhyZWY9IiNpY29uTW9yZSI+PC91c2U+PC9zdmc+PC9zcGFuPjwvc3Bhbj48aW1nIHNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE3XzAwLTEyLTMzLTIwMjYwNzE3MDAxMzUwLTBmYmRkbGkuanBnIiBkYXRhLXNyYz0iYXNzZXRzL1BpeFBpbl8yMDI2LTA3LTE3XzAwLTEyLTMzLTIwMjYwNzE3MDAxMzUwLTBmYmRkbGkuanBnIiBsb2FkaW5nPSJsYXp5IiBhbHQ9IlBpeFBpbl8yMDI2LTA3LTE3XzAwLTEyLTMzIj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX2RyYWciPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJvdHlsZS1hY3Rpb25fX3RpdGxlIj48c3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3Bhbj4gPC9zcGFuPjwvc3Bhbj7igIs8L2Rpdj48ZGl2IGNsYXNzPSJwcm90eWxlLWF0dHIiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiPuKAizwvZGl2PjwvZGl2PjxkaXYgZGF0YS1ub2RlLWlkPSIyMDI2MDcxNzAwMDgyMS1rZGpwN3BoIiBkYXRhLW5vZGUtaW5kZXg9IjEwOSIgZGF0YS10eXBlPSJOb2RlUGFyYWdyYXBoIiBjbGFzcz0icCBwcm90eWxlLXd5c2l3eWctLXNlbGVjdCIgdXBkYXRlZD0iMjAyNjA3MTcwMDA4MzEiPjxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBzcGVsbGNoZWNrPSJmYWxzZSI+5Lul5LiK6K6+572u5Y2z5a6M5oiQ44CCPC9kaXY+PGRpdiBjbGFzcz0icHJvdHlsZS1hdHRyIiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIj7igIs8L2Rpdj48L2Rpdj4='--&gt;&lt;/p&gt;&lt;h3&gt;需求&lt;/h3&gt;&lt;p id=&quot;20260716153202-8p5oot9&quot; updated=&quot;20260716153311&quot;&gt;远程电脑为windows7，安装serv-u服务器，用于存放备份文件，使用sftp进行数据连接&lt;/p&gt;&lt;p id=&quot;20260716153317-vi3d84o&quot; updated=&quot;20260716153551&quot;&gt;本地手提电脑为windows7，安装FreeFileSync文件同步软件，需要备份的文件是“E:\公司”文件夹。要求每1小时自动镜像备份到远程电脑中&lt;/p&gt;&lt;p id=&quot;20260716153639-oszszz0&quot; updated=&quot;20260716154443&quot;&gt;注意：由于备份的数据比较敏感，所以不能使用ftp协议，只能使用sftp或ftps协议。但ftps协议目前好多同步软件都不支持，而且濒临淘汰，所以只能用sftp协议。另外，如果是使用vpn或者其它加密链接到远程电脑的，也可以使用ftp协议&lt;/p&gt;&lt;h3&gt;软件版本&lt;/h3&gt;&lt;p id=&quot;20260716154027-9r75gsg&quot; updated=&quot;20260716154250&quot;&gt;serv-u：Serv-U简体中文破解版v15.1.6&lt;/p&gt;&lt;p id=&quot;20260716154049-8er0nir&quot; updated=&quot;20260716154351&quot;&gt;FreeFileSync：FreeFileSync_13.7_Windows&lt;/p&gt;&lt;p id=&quot;20260716154059-9pkt72k&quot; updated=&quot;20260716154427&quot;&gt;xftp（可选）：xftp7绿色版&lt;/p&gt;&lt;p id=&quot;20260716153512-2zupayw&quot; updated=&quot;20260716154811&quot;&gt;注意：最好严格按照以上版本部署。已试过不同版本，有些是serv-u版本在win7下不好安装，或者不好破解，有些FreeFileSync版本比较新，导致已放弃好多旧的sftp加密协议，最后无法连接。而以上两个软件版本的协议是最合适匹配的。&lt;/p&gt;&lt;h3&gt;安装和破解serv-u&lt;/h3&gt;&lt;p id=&quot;20260716154849-r9kr7oo&quot; updated=&quot;20260716155449&quot;&gt;可以安装到其它目录，其它默认&lt;/p&gt;&lt;p id=&quot;20260716155400-ste38aa&quot; updated=&quot;20260722101434&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797178246851.jpg&quot; alt=&quot;PixPin_2026-07-23_16-59-33.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716155403-1g60yc9&quot; updated=&quot;20260716155514&quot;&gt;添加到防火墙例外：&lt;/p&gt;&lt;p id=&quot;20260716155515-gfxlc75&quot; updated=&quot;20260716155516&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797199640490.jpg&quot; alt=&quot;PixPin_2026-07-23_16-59-55.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716155403-06v03q0&quot; updated=&quot;20260716155817&quot;&gt;如果想方便的，可以选择开启到路由器的upnp，但这样会映射很多端口出去。我只希望开启最小服务，映射最少端口，所以我不开启UPnP，后期再在路由器上手工映射端口&lt;/p&gt;&lt;p id=&quot;20260716155550-x7nftn8&quot; updated=&quot;20260716155550&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797222416514.jpg&quot; alt=&quot;PixPin_2026-07-23_17-00-17.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716155403-pggz3p8&quot; updated=&quot;20260716155856&quot;&gt;完成后先不要进入&lt;/p&gt;&lt;p id=&quot;20260716155856-ssfti7q&quot; updated=&quot;20260716155857&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797242386649.jpg&quot; alt=&quot;PixPin_2026-07-23_17-00-38.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716155403-ojxc7ev&quot; updated=&quot;20260716160007&quot;&gt;右下角停止服务并退出，准备破解&lt;/p&gt;&lt;p id=&quot;20260716160008-mki0442&quot; updated=&quot;20260716160009&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797259752705.jpg&quot; alt=&quot;PixPin_2026-07-23_17-00-56.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716155403-u88nrpj&quot; updated=&quot;20260716160132&quot;&gt;将Crack文件夹中的Pa.exe破解文件复制到serv-u的安装目录下&lt;/p&gt;&lt;p id=&quot;20260716160133-a3wn8kn&quot; updated=&quot;20260716160206&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797279268803.jpg&quot; alt=&quot;PixPin_2026-07-23_17-01-15.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716155403-twq7gli&quot; updated=&quot;20260716160802&quot;&gt;运行pa.exe，随便输入用户名和EMAIL，点patch，复制密钥&lt;/p&gt;&lt;p id=&quot;20260716160430-nkfvxwa&quot; updated=&quot;20260716160744&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797299915582.jpg&quot; alt=&quot;PixPin_2026-07-23_17-01-35.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716155403-0001zxx&quot; updated=&quot;20260716161229&quot;&gt;运行Serv-u程序，先不用新建域&lt;/p&gt;&lt;p id=&quot;20260716161230-fesgy48&quot; updated=&quot;20260716161248&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797345878677.jpg&quot; alt=&quot;PixPin_2026-07-23_17-02-22.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716161251-itzyxcv&quot; updated=&quot;20260716161736&quot;&gt;服务器详细信息——许可证信息——拉到页面下底——输入授权ID——输入刚才复制出来的密钥——保存——完成注册&lt;/p&gt;&lt;p id=&quot;20260716161409-pg3srs0&quot; updated=&quot;20260716161409&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797470888719.jpg&quot; alt=&quot;PixPin_2026-07-23_17-03-52.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716155403-sxiompm&quot; updated=&quot;20260716155403&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797517330158.jpg&quot; alt=&quot;PixPin_2026-07-23_17-05-01.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716155403-jp19v6j&quot; updated=&quot;20260716161718&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797563819157.jpg&quot; alt=&quot;PixPin_2026-07-23_17-05-41.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716161819-l8yu3g1&quot; updated=&quot;20260716161820&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797594263979.jpg&quot; alt=&quot;PixPin_2026-07-23_17-06-17.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716161912-0u2g4zj&quot; updated=&quot;20260716161913&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797644110479.jpg&quot; alt=&quot;PixPin_2026-07-23_17-07-07.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716162003-tdbnxmu&quot; updated=&quot;20260716162052&quot;&gt;以下是创建域和用户，按图操作即可&lt;/p&gt;&lt;p id=&quot;20260716162054-f8sg6rv&quot; updated=&quot;20260716162134&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797687178084.jpg&quot; alt=&quot;PixPin_2026-07-23_17-07-56.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716162138-n4u3b5n&quot; updated=&quot;20260716162203&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797731688813.jpg&quot; alt=&quot;PixPin_2026-07-23_17-08-21.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716162429-8mkztnq&quot; updated=&quot;20260716162430&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797765882020.jpg&quot; alt=&quot;PixPin_2026-07-23_17-09-12.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716162714-ed996qu&quot; updated=&quot;20260716162715&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797813662681.jpg&quot; alt=&quot;PixPin_2026-07-23_17-09-57.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716162826-4qdq5bt&quot; updated=&quot;20260716162827&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797853798903.jpg&quot; alt=&quot;PixPin_2026-07-23_17-10-35.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716162826-4qdq5bt&quot; updated=&quot;20260716162827&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797876843043.jpg&quot; alt=&quot;PixPin_2026-07-23_17-11-13.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716162826-4qdq5bt&quot; updated=&quot;20260716162827&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797898219040.jpg&quot; alt=&quot;PixPin_2026-07-23_17-11-33.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716162826-4qdq5bt&quot; updated=&quot;20260716162827&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797917183174.jpg&quot; alt=&quot;PixPin_2026-07-23_17-11-53.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716163522-ds8mon9&quot; updated=&quot;20260716163603&quot;&gt;加点难度，想另外在D盘新建个BACKUP文件夹，专门用它来装备份文件的&lt;/p&gt;&lt;p id=&quot;20260716163609-ugucg6n&quot; updated=&quot;20260716163755&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797947856053.jpg&quot; alt=&quot;PixPin_2026-07-23_17-12-20.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716163609-ugucg6n&quot; updated=&quot;20260716163755&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797965221036.jpg&quot; alt=&quot;PixPin_2026-07-23_17-12-43.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716163609-ugucg6n&quot; updated=&quot;20260716163755&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784797990343900.jpg&quot; alt=&quot;PixPin_2026-07-23_17-13-07.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716163609-ugucg6n&quot; updated=&quot;20260716163755&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798011310941.jpg&quot; alt=&quot;PixPin_2026-07-23_17-13-27.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716163610-8r4gf4h&quot; updated=&quot;20260716164718&quot;&gt;注意：虚拟路径和目录访问必须是一起设置的，先设置虚拟路径，再设置目录访问，两者不能少。&lt;/p&gt;&lt;p id=&quot;20260716164601-y8bs6ej&quot; updated=&quot;20260716164758&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798030167749.jpg&quot; alt=&quot;PixPin_2026-07-23_17-13-43.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716164601-y8bs6ej&quot; updated=&quot;20260716164758&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798052757468.jpg&quot; alt=&quot;PixPin_2026-07-23_17-14-04.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716170454-0kvc1zr&quot; updated=&quot;20260716170521&quot;&gt;最后要记得点“&lt;span data-type=&quot;strong&quot;&gt;保存&lt;/span&gt;”，完成用户配置&lt;/p&gt;&lt;p id=&quot;20260716170507-d33nvgd&quot; updated=&quot;20260716170507&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p id=&quot;20260716163610-vo7i61r&quot; updated=&quot;20260716164926&quot;&gt;配置服务器其它方面&lt;/p&gt;&lt;p id=&quot;20260716163610-cntvkrc&quot; updated=&quot;20260716165252&quot;&gt;如果开通ftp服务，会很容易被外界扫描端口，可根据以下设置限制，具体可按实际情况设置，可减少被扫描频率，&lt;/p&gt;&lt;p id=&quot;20260716165045-j9cc4hq&quot; updated=&quot;20260716165046&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798075536366.jpg&quot; alt=&quot;PixPin_2026-07-23_17-14-32.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716165045-j9cc4hq&quot; updated=&quot;20260716165046&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798090109942.jpg&quot; alt=&quot;PixPin_2026-07-23_17-14-48.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716165427-xcihc4b&quot; updated=&quot;20260716165453&quot;&gt;以下是配置sftp的加密证书步骤&lt;/p&gt;&lt;p id=&quot;20260716165454-znpabnc&quot; updated=&quot;20260716165601&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798118548471.jpg&quot; alt=&quot;PixPin_2026-07-23_17-15-15.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716165454-znpabnc&quot; updated=&quot;20260716165601&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798136444331.jpg&quot; alt=&quot;PixPin_2026-07-23_17-15-33.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716165454-znpabnc&quot; updated=&quot;20260716165601&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798149313175.jpg&quot; alt=&quot;PixPin_2026-07-23_17-15-46.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716165454-znpabnc&quot; updated=&quot;20260716165601&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798165536235.jpg&quot; alt=&quot;PixPin_2026-07-23_17-16-00.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716170120-fb6osi5&quot; updated=&quot;20260716170250&quot;&gt;这样基本设置完成了，但这样用户既可使用ftp，也可使用sftp。现在回到用户设置，设置bk_user用户只限sftp&lt;/p&gt;&lt;p id=&quot;20260716170711-qbk5zlz&quot; updated=&quot;20260716170712&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798195635143.jpg&quot; alt=&quot;PixPin_2026-07-23_17-16-31.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716170711-qbk5zlz&quot; updated=&quot;20260716170712&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798213118829.jpg&quot; alt=&quot;PixPin_2026-07-23_17-16-50.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716170711-qbk5zlz&quot; updated=&quot;20260716170712&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798226771296.jpg&quot; alt=&quot;PixPin_2026-07-23_17-17-03.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716170838-ta4kg9f&quot; updated=&quot;20260716170901&quot;&gt;意思是加多一条策略，覆盖默认的而已&lt;/p&gt;&lt;p id=&quot;20260716170825-965trmg&quot; updated=&quot;20260716170826&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798241903831.jpg&quot; alt=&quot;PixPin_2026-07-23_17-17-18.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716170904-39dvuji&quot; updated=&quot;20260716171003&quot;&gt;最后记得点&lt;span data-type=&quot;strong&quot;&gt;“保存”&lt;/span&gt;完成。到此，已完成serv-u配置&lt;/p&gt;&lt;h3&gt;路由器&lt;/h3&gt;&lt;p id=&quot;20260716170944-mtpj0nh&quot; updated=&quot;20260716231730&quot;&gt;路由器设置，防火墙映射以下端口（左为内网端口，右为外网端口），如果只开通sftp，即只需映射22端口即可：&lt;br/&gt;21—&amp;gt;2021&lt;br/&gt;22—&amp;gt;2022&lt;br/&gt;30551-30560—&amp;gt;30551-30560&lt;/p&gt;&lt;h5 id=&quot;ftp客户端测试&quot; updated=&quot;20260716232813&quot;&gt;ftp客户端测试&lt;/h5&gt;&lt;p id=&quot;20260716231815-c66ow0z&quot; updated=&quot;20260716232353&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798262456488.jpg&quot; alt=&quot;PixPin_2026-07-23_17-17-41.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716231815-c66ow0z&quot; updated=&quot;20260716232353&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798273911994.jpg&quot; alt=&quot;PixPin_2026-07-23_17-17-51.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716231815-c66ow0z&quot; updated=&quot;20260716232353&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798292115361.jpg&quot; alt=&quot;PixPin_2026-07-23_17-18-10.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716231815-c66ow0z&quot; updated=&quot;20260716232353&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798311376794.jpg&quot; alt=&quot;PixPin_2026-07-23_17-18-28.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716231815-c66ow0z&quot; updated=&quot;20260716232353&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798334299505.jpg&quot; alt=&quot;PixPin_2026-07-23_17-18-51.jpg&quot;/&gt;&lt;/p&gt;&lt;h5 id=&quot;FreeFileSync软件&quot; updated=&quot;20260716235547&quot;&gt;FreeFileSync软件&lt;/h5&gt;&lt;p id=&quot;20260716232813-qcrcv5z&quot; updated=&quot;20260716233457&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798359794918.jpg&quot; alt=&quot;PixPin_2026-07-23_17-19-17.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716233502-2q4vt7l&quot; updated=&quot;20260716233536&quot;&gt;运行&lt;/p&gt;&lt;p id=&quot;20260716233537-qo8gs5t&quot; updated=&quot;20260716233538&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798371335735.jpg&quot; alt=&quot;PixPin_2026-07-23_17-19-27.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716233539-mz0fv2n&quot; updated=&quot;20260716233733&quot;&gt;需要备份的文件夹是：&lt;/p&gt;&lt;p id=&quot;20260716233734-8349bwi&quot; updated=&quot;20260716233735&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798387512668.jpg&quot; alt=&quot;PixPin_2026-07-23_17-19-45.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716233738-m6aauma&quot; updated=&quot;20260716233829&quot;&gt;同步设置&lt;/p&gt;&lt;p id=&quot;20260716233830-xqjz6qw&quot; updated=&quot;20260716233831&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798418180314.jpg&quot; alt=&quot;PixPin_2026-07-23_17-20-13.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716233830-xqjz6qw&quot; updated=&quot;20260716233831&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798436326710.jpg&quot; alt=&quot;PixPin_2026-07-23_17-20-33.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716233830-xqjz6qw&quot; updated=&quot;20260716233831&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798456479179.jpg&quot; alt=&quot;PixPin_2026-07-23_17-20-52.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716233830-xqjz6qw&quot; updated=&quot;20260716233831&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798471454882.jpg&quot; alt=&quot;PixPin_2026-07-23_17-21-07.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716233830-xqjz6qw&quot; updated=&quot;20260716233831&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798484363741.jpg&quot; alt=&quot;PixPin_2026-07-23_17-21-21.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716233830-xqjz6qw&quot; updated=&quot;20260716233831&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798498663483.jpg&quot; alt=&quot;PixPin_2026-07-23_17-21-34.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716233830-xqjz6qw&quot; updated=&quot;20260716233831&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798510719976.jpg&quot; alt=&quot;PixPin_2026-07-23_17-21-46.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716233830-xqjz6qw&quot; updated=&quot;20260716233831&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798524896730.jpg&quot; alt=&quot;PixPin_2026-07-23_17-22-00.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716234942-y60tc1h&quot; updated=&quot;20260716235235&quot;&gt;可以修改下日志路径&lt;/p&gt;&lt;p id=&quot;20260716235236-hmqypw7&quot; updated=&quot;20260716235237&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798550911338.jpg&quot; alt=&quot;PixPin_2026-07-23_17-22-23.jpg&quot;/&gt;&lt;/p&gt;&lt;h5 id=&quot;以下是设置自动同步&quot; updated=&quot;20260717001346&quot;&gt;以下是设置自动同步&lt;/h5&gt;&lt;p id=&quot;20260716235556-ibzfvwx&quot; updated=&quot;20260716235617&quot;&gt;要求：每1小时自动同步&lt;/p&gt;&lt;p id=&quot;20260716235443-cyxln7b&quot; updated=&quot;20260716235641&quot;&gt;控制面板——管理工具——任务计划程序&lt;/p&gt;&lt;p id=&quot;20260716235546-q2wzvde&quot; updated=&quot;20260716235547&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798572654796.jpg&quot; alt=&quot;PixPin_2026-07-23_17-22-42.jpg&quot;/&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798586647101.jpg&quot; alt=&quot;PixPin_2026-07-23_17-22-59.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716235546-q2wzvde&quot; updated=&quot;20260716235547&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798609252496.jpg&quot; alt=&quot;PixPin_2026-07-23_17-23-22.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716235546-q2wzvde&quot; updated=&quot;20260716235547&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798619883569.jpg&quot; alt=&quot;PixPin_2026-07-23_17-23-34.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260716235546-q2wzvde&quot; updated=&quot;20260716235547&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798635508604.jpg&quot; alt=&quot;PixPin_2026-07-23_17-23-47.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260717000323-t5e7nk5&quot; updated=&quot;20260717000447&quot;&gt;注意上面的，“程序或脚本”那里是程序的路径：&amp;quot;C:\Program Files\FreeFileSync\FreeFileSync.exe&amp;quot;，参数是批处理路径：D:\FreeFileSync_config\Sync_batch.ffs_batch&lt;/p&gt;&lt;p id=&quot;20260717000414-nhcu5ze&quot; updated=&quot;20260717000511&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798686727059.jpg&quot; alt=&quot;PixPin_2026-07-23_17-24-42.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260717000414-nhcu5ze&quot; updated=&quot;20260717000511&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798703746634.jpg&quot; alt=&quot;PixPin_2026-07-23_17-24-55.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260717000557-z1441ym&quot; updated=&quot;20260717000646&quot;&gt;最后点确定，输入管理员账号和密码&lt;/p&gt;&lt;p id=&quot;20260717000647-mhwaebn&quot; updated=&quot;20260717000647&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798724434195.jpg&quot; alt=&quot;PixPin_2026-07-23_17-25-21.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260717000647-mhwaebn&quot; updated=&quot;20260717000647&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798738341102.jpg&quot; alt=&quot;PixPin_2026-07-23_17-25-35.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260717001323-n0chv7c&quot; updated=&quot;20260717001346&quot;&gt;（为了测试，已修改为每5分钟同步)&lt;/p&gt;&lt;p id=&quot;20260717001146-23u7icg&quot; updated=&quot;20260717001235&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607231784798756229657.jpg&quot; alt=&quot;PixPin_2026-07-23_17-25-48.jpg&quot;/&gt;&lt;/p&gt;&lt;p id=&quot;20260717000821-kdjp7ph&quot; updated=&quot;20260717000831&quot;&gt;以上设置即完成。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;div id=&quot;baidu_pastebin&quot; style=&quot;position: absolute; width: 1px; height: 1px; overflow: hidden; left: -1000px; white-space: nowrap; top: 3233px;&quot;&gt;&lt;img class=&quot;loadingclass&quot; id=&quot;loading_mrxa9mmp&quot; src=&quot;https://blog.itdog.net/zb_users/plugin/UEditor/themes/default/images/spacer.gif&quot;/&gt;&lt;/div&gt;</description><pubDate>Thu, 23 Jul 2026 16:54:14 +0800</pubDate></item><item><title>CuteHttpFileServer（chfs）文档共享服务器安装和配置教程</title><link>https://blog.itdog.net/post/680.html</link><description>&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;你想快速搭建属于自己的共享服务器并且可以跨平台访问吗，你是否厌烦现有的FTP服务器部署复杂和用户权限设置繁琐呢？小编今天给大家介绍一款开源文件共享服务器chfs，首先搭建非常简单，就是一个文件，不需要其他任何插件，直接运行就行了；另外访问也方便，只要在同一个网络通过浏览器就能访问。&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; word-break: break-all;&quot;&gt;一、chfs软件介绍&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;CuteHttpFileServer/chfs是一款开源的、免费的、HTTP协议的文件共享服务器，使用浏览器可以快速访问。它具有以下特点：&lt;/p&gt;&lt;ul class=&quot;ul-level-0 list-paddingleft-2&quot; style=&quot;list-style-type: none;&quot;&gt;&lt;li&gt;&lt;p&gt;单个文件，核心功能无需其他文件&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;跨平台运行，支持主流平台：Windows，Linux和Mac&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;界面简洁，简单易用&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;支持扫码下载和手机端访问，手机与电脑之间共享文件非常方便&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;支持账户权限控制和地址过滤&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;支持快速分享文字片段&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;支持webdav协议&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; word-break: break-all;&quot;&gt;二、chfs安装部署&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;1、下载chfs执行程序&lt;/p&gt;&lt;p&gt;CuteHttpFileServer/chfs是开源软件，可以通过GitHub开源网站或者chfs官网（http://iscute.cn/chfs）下载带图形化的windows运行程序和linux对应的版本软件。&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #333333; font-family: Helvetica, Arial, sans-serif; background-color: #FFFFFF;&quot;&gt;百度网盘分流下载：&lt;/span&gt;&lt;a href=&quot;https://pan.baidu.com/s/1QDhTWb-CRUQaHkITSSrF1w&quot; target=&quot;_blank&quot; style=&quot;box-sizing: border-box; background-color: rgb(255, 255, 255); color: rgb(255, 64, 129); text-decoration-line: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); font-family: Helvetica, Arial, sans-serif; white-space: normal;&quot;&gt;https://pan.baidu.com/s/1QDhTWb-CRUQaHkITSSrF1w&amp;nbsp;&lt;/a&gt;&lt;span style=&quot;color: #333333; font-family: Helvetica, Arial, sans-serif; background-color: #FFFFFF;&quot;&gt;提取码：chfs&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; padding: 0px; line-height: 24px; color: rgb(51, 51, 51); font-family: Helvetica, Arial, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;docker镜像: https://hub.docker.com/r/docblue/chfs&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 837px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 837px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783040727649220.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;ps：CuteHttpFileServer/chfs默认是不需要配置文件的，但为了配置我们自定的需求，建议从官网将配置文件模板chfs.ini也下载一下。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 837px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 837px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783040755671135.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;2、windows系统部署chfs&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;直接运行解压文件gui-chfs-windows.zip得到的chfsgui.exe执行程序就行。如下图，各种功能一目了然，配置好之后点击左上角的开始按钮就运行了。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 837px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 837px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783040800862534.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;ps：因为windows系统相对来说不是很稳定，另外windows部署的网站打开排版没有linux部署的排版好看，文章主要介绍linux系统部署chfs。&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;3、linux系统部署chfs&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;（1）系统环境：centos 7.4_64系统，IP是static静态模式，这样以防重启服务器后IP有变化导致网站访问不了。安装包为:chfs-linux-arm64-2.0.zip&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;（2）开始部署。为了管理方面，在/etc目录下创建一个chfs文件夹，命令为mkdir /etc/chfs然后将安装包上传到chfs目录下解压，给chfs二进制文件授予755执行权限chmod 755 chfs&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 573.25px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 573.25px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783040832347059.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;然后直接./chfs运行就ok了。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 837px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 837px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783040882297451.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;备注：直接./chfs运行会出现运行信息，比如监听端口、共享路径、默认权限、日志路径、共享文件服务器访问网址（服务器地址是192.168.3.8；122.1是虚拟机自动生成虚拟网络接口）&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 837px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 837px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783040931579377.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;备注：界面是不是很清爽啊，但是默认的访问是有读、写和删除权限的，实际使用中包括监听端口、共享目录、日志目录和权限都是需要优化一下的。&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; word-break: break-all;&quot;&gt;三、chfs使用攻略&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;因为直接执行./chfs虽然共享文件服务器也是能正常运行的，但是它会跳出个运行信息且不能结束不然chfs程序就停止了；且权限、监听端口、共享目录等都不是最优的，我们要安装实际情况修改下。&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;配置chfs程序在后台运行，并且设置开机自动运行，这样方便使用和维护简单，不需要服务器关机重启后手动执行下命令。&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; word-break: break-all;&quot;&gt;1、优化共享文件服务器配置&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;查看下载下的配置文件模板，按实际需求修改。在/etc/chfs目录下创建log目录存放日志，创建chfs.ini文件作为配置文件。命令如下（默认是处于/etc/chfs目录下，不然命令要加绝对路径）：&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;mkdir logs&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;vim chfs.ini输入以下内容&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;port=8080&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;path=/home/test/software&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;log=/etc/chfs/logs&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;rule=chengbo:123456:RWD&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;rule=::R&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 640.469px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 640.469px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783040984644020.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;增加chfs.ini配置文件后，再执行程序命令为：&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;/etc/chfs/chfs --file=/etc/chfs/chfs.ini&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; word-break: break-all;&quot;&gt;2、配置后台运行&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;这样即使关闭当前连接的窗口共享文件服务器也是正常运行的，执行命令如下：&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; word-break: break-all;&quot;&gt;nohup /etc/chfs/chfs --file=/etc/chfs/chfs.ini &amp;amp;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; word-break: break-all;&quot;&gt;3、配置系统启动自动运行命令&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;在/etc/rc.local中加入上面的执行程序命令，另外给rc.local755执行权限。命令如下：&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;chmod 755 /etc/rc.local&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 696.297px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 696.297px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783041006794421.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;然后，重启一下系统就可以很嗨皮的使用CuteHttpFileServer/chfs文件共享服务器，是不是很简单。&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; word-break: break-all;&quot;&gt;4、访问chfs共享文件服务器&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;在浏览器中输入：http://192.168.3.8:8080进入chfs文件共享服务器&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 837px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 837px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783041027260197.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;默认用户只有读的权限，只能下载文件，但不可以上传和删除文件。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 837px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 837px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783041057741703.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;登陆的用户拥有读、写和删除权限。&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;ps:更多内容比如网页标题、网页顶部公告板可以参照配置模板修改配置哦，更改chfs.ini配置文件后需要重新执行命令一下生效。&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;strong style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; word-break: break-all;&quot;&gt;5、配置webdav方式访问&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;chfs软件是支持webdav协议的，所以可以通过webdav协议将文件共享服务器的内容映射到我的电脑的，相当于访问本地磁盘一样方便。方法如下：&lt;/p&gt;&lt;p&gt;1、首先下载名称为RaiDrive的软件并安装，该软件RaiDrive使云存储或NAS轻松成为网络驱动器，支持协议：WebDAV等。&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;2、配置webdav方式连接chfs共享文件服务器&lt;/p&gt;&lt;p&gt;打开，在add添加选项中，选择NAT选项卡，然后选择WebDAV方式&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 837px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 837px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783041208669516.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;输入chfs共享文件服务器地址http://192.168.3.8:8080/webdav，然后输入用户名和密码；驱动器盘符任选一个。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 734.297px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 734.297px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783041255601632.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;然后再计算机-我的电脑就能看到多了一个Z盘符的网络驱动器。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;&quot; style=&quot;overflow-wrap: break-word; box-sizing: border-box; list-style: inherit; margin: 16px 0px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div class=&quot;rno-markdown-img-url&quot; style=&quot;overflow-wrap: break-word; margin: 16px 0px; padding: 0px; box-sizing: border-box; text-align: center; list-style: inherit;&quot;&gt;&lt;div class=&quot;rno-markdown-img-url-inner&quot; style=&quot;overflow-wrap: break-word; margin: 0px auto; padding: 0px; box-sizing: border-box; position: relative; display: inline-block; white-space: normal !important; list-style: inherit; width: 837px;&quot;&gt;&lt;div style=&quot;overflow-wrap: break-word; margin: 0px; padding: 0px; box-sizing: border-box; list-style: inherit; width: 837px;&quot;&gt;&lt;img src=&quot;https://blog.itdog.net/zb_users/upload/2026/07/202607031783041285733551.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;总结：&lt;/p&gt;&lt;p style=&quot;overflow-wrap: break-word; margin-top: 0px; margin-bottom: 8px; padding: 0px; box-sizing: border-box; list-style: inherit; min-height: 24px; color: rgb(51, 51, 51); font-family: &amp;quot;pingfang SC&amp;quot;, &amp;quot;helvetica neue&amp;quot;, arial, &amp;quot;hiragino sans gb&amp;quot;, &amp;quot;microsoft yahei ui&amp;quot;, &amp;quot;microsoft yahei&amp;quot;, simsun, sans-serif; white-space: pre-wrap; background-color: rgb(255, 255, 255);&quot;&gt;CuteHttpFileServer/chfs文件共享服务器是不是部署非常简单啊，只需要给个执行权限，直接执行chfs二进制文件就行了，即使修改权限也就是几条命令的事情。&lt;/p&gt;&lt;p&gt;-------------------------------&lt;/p&gt;&lt;p&gt;以下是官方的配置文件模板：&lt;a href=&quot;http://iscute.cn/asset/chfs.ini&quot; _src=&quot;http://iscute.cn/asset/chfs.ini&quot;&gt;http://iscute.cn/asset/chfs.ini&lt;/a&gt; &lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markdown&quot;&gt;#---------------------------------------
#&amp;nbsp;请注意：
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1，如果不存在键或对应值为空，则不影响对应的配置
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2，配置项的值，语法如同其对应的命令行参数
#---------------------------------------


#&amp;nbsp;监听端口
port=


#&amp;nbsp;共享根目录，通过字符&amp;#39;|&amp;#39;进行分割
#&amp;nbsp;注意：
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1，带空格的目录须用引号包住，如&amp;nbsp;path=&amp;quot;c:\a&amp;nbsp;uply&amp;nbsp;name\folder&amp;quot;
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2，可配置多个path，分别对应不同的目录
path=


#&amp;nbsp;IP地址过滤
allow=


#&amp;nbsp;用户操作日志存放目录，默认为空
#&amp;nbsp;如果赋值为空，表示禁用日志
log=


#&amp;nbsp;网页标题
html.title=


#&amp;nbsp;网页顶部的公告板。可以是文字，也可以是HTML标签，此时，需要适用一对``(反单引号，通过键盘左上角的ESC键下面的那个键输出)来包住所有HTML标签。几个例子：
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1,html.notice=内部资料，请勿传播
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2,html.notice=`&amp;lt;img&amp;nbsp;src=&amp;quot;https://mat1.gtimg.com/pingjs/ext2020/qqindex2018/dist/img/qq_logo_2x.png&amp;quot;&amp;nbsp;width=&amp;quot;100%&amp;quot;/&amp;gt;`
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3,html.notice=`&amp;lt;div&amp;nbsp;style=&amp;quot;background:black;color:white&amp;quot;&amp;gt;&amp;lt;p&amp;gt;目录说明：&amp;lt;/p&amp;gt;&amp;lt;ul&amp;gt;一期工程：一期工程资料目录&amp;lt;/ul&amp;gt;&amp;lt;ul&amp;gt;二期工程：二期工程资料目录&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;`
html.notice=


#&amp;nbsp;是否启用图片预览(网页中显示图片文件的缩略图)，true表示开启，false为关闭。默认关闭
image.preview=



#&amp;nbsp;下载目录策略。disable:禁用;&amp;nbsp;leaf:仅限叶子目录的下载;&amp;nbsp;enable或其他值:不进行限制。
#&amp;nbsp;默认值为&amp;nbsp;enable
folder.download=



#--------------&amp;nbsp;设置生效后启用HTTPS，注意监听端口设置为443-------------
#&amp;nbsp;指定certificate文件
ssl.cert=
#&amp;nbsp;指定private&amp;nbsp;key文件
ssl.key=



#&amp;nbsp;设置会话的生命周期，单位：分钟，默认为30分钟
session.timeout=


#&amp;nbsp;文件/目录删除模式：
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1:&amp;nbsp;安全删除：移动到系统回收站&amp;nbsp;[不是所有操作系统都支持，建议使用前进行测试。默认模式]
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2:&amp;nbsp;安全删除：移动到chfs的专属回收站:&amp;nbsp;~/.chfs_trashbin，&amp;nbsp;程序会删除存储超过1个月的文件
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3:&amp;nbsp;真正删除
file.remove=1


#-----------------&amp;nbsp;------------------------
#&amp;nbsp;注意：&amp;nbsp;账户配置区域放置到配置文件的后面
#------------------------------------------



#-----------------&amp;nbsp;账户及控制规则&amp;nbsp;-------------------
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[xxx]&amp;nbsp;xxx即为账户名,&amp;nbsp;访客的用户名为guest
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;password&amp;nbsp;账户密码
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule.default&amp;nbsp;账户对所有的目录和文件的访问权限，但可以针对任意子目录进行重新设定访问权限，以覆盖默认的权限
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule.none&amp;nbsp;表示对哪些子目录设置为不可访问的权限，多个目录使用字符&amp;#39;|&amp;#39;分割，也可以分为多行。注意：该子目录本身也不可访问！
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule.r&amp;nbsp;表示对哪些子目录设置为读权限，多个目录使用字符&amp;#39;|&amp;#39;分割，也可以分为多行。注意：&amp;nbsp;该子目录本身不受影响，影响的只是它所包含的目录和文件！
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule.w&amp;nbsp;表示对哪些子目录设置为写权限，多个目录使用字符&amp;#39;|&amp;#39;分割，也可以分为多行。注意：&amp;nbsp;该子目录本身不受影响，影响的只是它所包含的目录和文件！
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule.d&amp;nbsp;表示对哪些子目录设置为最高访问权限，多个目录使用字符&amp;#39;|&amp;#39;分割，也可以分为多行。注意：&amp;nbsp;该子目录本身不受影响，影响的只是它所包含的目录和文件！
#
#&amp;nbsp;&amp;nbsp;&amp;nbsp;示例：
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[foo]
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;password=bar
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule.default=r
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule.none=d:\公司制度|d:\财务票据
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule.r=d:\施工项目\2021年
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule.r=d:\施工项目\2022年
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rule.d=d:\个人目录\foo
#
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;该账户名为foo，密码为bar，默认访问权限是读权限，但账户没有“d:\公司制度”和“d:\财务票据”的访问权限，且
#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;对“d:\施工项目\2021年”和“d:\施工项目\2021年”只有读权限，对“d:\个人目录\foo”有最高访问权限。
#


#账户xxx,访客的用户名为guest
[xxx]
password=
rule.default=
rule.none=
rule.r=
rule.w=
rule.d=&lt;/pre&gt;</description><pubDate>Fri, 03 Jul 2026 08:59:57 +0800</pubDate></item></channel></rss>