<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>祥哥哥</title><link>https://blog.rcku.cn/</link><description>事已至此，先吃饭吧!</description><item><title>Aira2 docker部署 以及PHPapi示例</title><link>https://blog.rcku.cn/show/350.html</link><description>&lt;p&gt;docker-compose.yml&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markup&quot;&gt;version:&amp;nbsp;&amp;quot;3&amp;quot;
services:
&amp;nbsp;&amp;nbsp;aria2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;image:&amp;nbsp;p3terx/aria2-pro
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container_name:&amp;nbsp;aria2
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;restart:&amp;nbsp;unless-stopped
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logging:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max-size:&amp;nbsp;1m
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ports:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;&amp;quot;6800:6800&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;&amp;quot;6888:6888&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;&amp;quot;6888:6888/udp&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;environment:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;PUID=0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;PGID=0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;RPC_SECRET=这是密码
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;RPC_PORT=6800
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;LISTEN_PORT=6888
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumes:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;/vol3/1000/work/Aria2/downloads:/downloads
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;nbsp;/vol3/1000/work/Aria2/config:/config&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;php api示例&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?php
namespace&amp;nbsp;Au;

class&amp;nbsp;Aria2
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;$rpcUrl&amp;nbsp;=&amp;nbsp;&amp;#39;http://192.168.2.115:6800/jsonrpc&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;$token&amp;nbsp;=&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;string&amp;nbsp;$rpcUrl&amp;nbsp;http://ip:6800/jsonrpc
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;string&amp;nbsp;$token&amp;nbsp;RPC密钥
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;__construct(string&amp;nbsp;$rpcUrl=&amp;#39;&amp;#39;,&amp;nbsp;string&amp;nbsp;$token=&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;$this-&amp;gt;rpcUrl&amp;nbsp;=&amp;nbsp;$rpcUrl&amp;nbsp;?&amp;nbsp;$rpcUrl&amp;nbsp;:&amp;nbsp;$this-&amp;gt;rpcUrl;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$this-&amp;gt;token&amp;nbsp;=&amp;nbsp;$token&amp;nbsp;?&amp;nbsp;$token&amp;nbsp;:&amp;nbsp;$this-&amp;gt;token;
&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;发送JSON-RPC请求
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;function&amp;nbsp;request(string&amp;nbsp;$method,&amp;nbsp;array&amp;nbsp;$params&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;$data&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;&amp;#39;jsonrpc&amp;#39;&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;#39;2.0&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;&amp;#39;id&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;uniqid(),
&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;#39;method&amp;#39;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;$method,
&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;#39;params&amp;#39;&amp;nbsp;&amp;nbsp;=&amp;gt;&amp;nbsp;array_merge([&amp;quot;token:{$this-&amp;gt;token}&amp;quot;],&amp;nbsp;$params)
&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;&amp;nbsp;&amp;nbsp;$ch&amp;nbsp;=&amp;nbsp;curl_init($this-&amp;gt;rpcUrl);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_POST,&amp;nbsp;1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_RETURNTRANSFER,&amp;nbsp;1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_HTTPHEADER,&amp;nbsp;[&amp;#39;Content-Type:&amp;nbsp;application/json&amp;#39;]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_POSTFIELDS,&amp;nbsp;json_encode($data));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_TIMEOUT,&amp;nbsp;5);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$response&amp;nbsp;=&amp;nbsp;curl_exec($ch);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_close($ch);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;json_decode($response,&amp;nbsp;true);
&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;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;创建HTTP/HTTPS/FTP下载任务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;string|array&amp;nbsp;$url&amp;nbsp;下载链接
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;array&amp;nbsp;$options&amp;nbsp;参数&amp;nbsp;dir保存目录&amp;nbsp;out文件名&amp;nbsp;split线程数
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;array
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;addUri($url,&amp;nbsp;array&amp;nbsp;$options&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;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.addUri&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;&amp;nbsp;is_array($url)&amp;nbsp;?&amp;nbsp;$url&amp;nbsp;:&amp;nbsp;[$url],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$options
&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;tellStatus(string&amp;nbsp;$gid)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.tellStatus&amp;#39;,&amp;nbsp;[$gid]);
&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;暂停任务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;pause(string&amp;nbsp;$gid)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.pause&amp;#39;,&amp;nbsp;[$gid]);
&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;暂停全部任务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;pauseAll()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.pauseAll&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;&amp;nbsp;*&amp;nbsp;继续任务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;unpause(string&amp;nbsp;$gid)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.unpause&amp;#39;,&amp;nbsp;[$gid]);
&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;继续全部任务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;unpauseAll()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.unpauseAll&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;&amp;nbsp;*&amp;nbsp;删除任务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;remove(string&amp;nbsp;$gid)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.remove&amp;#39;,&amp;nbsp;[$gid]);
&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;&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;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;tellActive()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.tellActive&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;&amp;nbsp;*&amp;nbsp;获取等待任务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;tellWaiting()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.tellWaiting&amp;#39;,&amp;nbsp;[0,&amp;nbsp;100]);
&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;获取已停止/完成任务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;tellStopped()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.tellStopped&amp;#39;,&amp;nbsp;[0,&amp;nbsp;100]);
&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;&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;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;getGlobalStat()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.getGlobalStat&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;&amp;nbsp;*&amp;nbsp;获取版本信息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;getVersion()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.getVersion&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;&amp;nbsp;*&amp;nbsp;清空已完成/已停止任务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;function&amp;nbsp;purgeDownloadResult()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$this-&amp;gt;request(&amp;#39;aria2.purgeDownloadResult&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 27 Apr 2026 10:06:39 +0800</pubDate></item><item><title>【Zblog插件】阿里云 OSS 对象储存插件（au_oss）</title><link>https://blog.rcku.cn/show/349.html</link><description>&lt;h1&gt;au_oss 阿里云OSS对象储存插件&lt;/h1&gt;&lt;h2&gt;插件介绍&lt;/h2&gt;&lt;p&gt;au_oss 是专为 Z-Blog 开发的阿里云对象存储（OSS）插件，可以将网站上传的附件自动同步到阿里云 OSS，实现静态资源的云存储，减轻服务器压力，提高网站访问速度。&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://aos.ixii.cn/blog/zb_users/upload/2026/04/202604161776308338761790.png&quot; title=&quot;ScreenShot_2026-04-16_105834_343.png&quot; alt=&quot;ScreenShot_2026-04-16_105834_343.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://aos.ixii.cn/blog/zb_users/upload/2026/04/202604161776304694502981.png&quot; title=&quot;ScreenShot_2026-04-16_093716_048.png&quot; alt=&quot;ScreenShot_2026-04-16_093716_048.png&quot;/&gt;&lt;/p&gt;&lt;h2&gt;功能特性&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;✅ &lt;strong&gt;自动上传&lt;/strong&gt;：文章附件上传时自动同步到阿里云 OSS&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;✅ &lt;strong&gt;多种模式&lt;/strong&gt;：支持三种上传策略，灵活满足不同需求&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;✅ &lt;strong&gt;批量同步&lt;/strong&gt;：一键同步历史附件到阿里云 OSS&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;✅ &lt;strong&gt;链接替换&lt;/strong&gt;：一键替换文章内容中的附件链接&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;✅ &lt;strong&gt;附件预览&lt;/strong&gt;：附件管理中直接预览 OSS 上的图片&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;安装说明&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&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;找到「阿里云OSS对象储存」插件，点击「启用」&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;配置说明&lt;/h2&gt;&lt;h3&gt;基本配置&lt;/h3&gt;&lt;p&gt;在插件启用后，点击「配置」进入设置页面。&lt;/p&gt;&lt;div class=&quot;table-wrapper&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;配置项&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;th&gt;示例&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;插件状态&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;勾选启用阿里云 OSS 插件，不启用不会接管上传&lt;/td&gt;&lt;td&gt;✅&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;AccessKeyId&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;阿里云 API 密钥 ID&lt;/td&gt;&lt;td&gt;&lt;code&gt;LTAI5t7xxxxxxxxxx&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;AccessKeySecret&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;阿里云 API 密钥 Secret&lt;/td&gt;&lt;td&gt;&lt;code&gt;xxxxxxxxx&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;存储桶名称&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;OSS Bucket 名称&lt;/td&gt;&lt;td&gt;&lt;code&gt;my-blog-bucket&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;地域&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;存储桶所在地域&lt;/td&gt;&lt;td&gt;&lt;code&gt;oss-cn-beijing&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;域名&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;OSS 访问域名（自定义或默认）&lt;/td&gt;&lt;td&gt;&lt;code&gt;https://oss.example.com&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;保存目录&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;相对于 OSS 桶根目录的路径&lt;/td&gt;&lt;td&gt;&lt;code&gt;blog/&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h3&gt;上传模式&lt;/h3&gt;&lt;p&gt;插件提供三种上传模式：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;保留本地_返回OSS直链&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;本地服务器保留文件副本&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;前端访问使用 OSS 直链&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;✨ 推荐：兼顾访问速度和数据安全&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;删除本地_返回OSS直链&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;上传成功后删除本地服务器文件&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;前端访问使用 OSS 直链&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;💾 节省服务器存储空间&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;保留本地_返回本地链接&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;仅作为 OSS 备份使用&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;/ul&gt;&lt;/ol&gt;&lt;h3&gt;OSS预览&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;勾选后在附件管理页面可以看到 OSS 附件的预览图&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;仅对图片类型文件生效&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;阿里云控制台配置指南&lt;/h2&gt;&lt;h3&gt;1. 获取 AccessKey&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;登录 &lt;a href=&quot;https://ram.console.aliyun.com/manage/ak&quot;&gt;阿里云 RAM 控制台&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击「创建 AccessKey」&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;保存生成的 AccessKeyId 和 AccessKeySecret&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;⚠️ &lt;strong&gt;注意&lt;/strong&gt;：AccessKeySecret 只显示一次，请妥善保管&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;2. 创建 OSS Bucket&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;登录 &lt;a href=&quot;https://oss.console.aliyun.com/&quot;&gt;阿里云 OSS 控制台&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击「创建 Bucket」&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;设置 Bucket 名称和地域&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;/ol&gt;&lt;h3&gt;3. 地域说明&lt;/h3&gt;&lt;p&gt;常用地域列表：&lt;/p&gt;&lt;div class=&quot;table-wrapper&quot;&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;地域&lt;/th&gt;&lt;th&gt;地域标识&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;华北2（北京）&lt;/td&gt;&lt;td&gt;&lt;code&gt;oss-cn-beijing&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;华东1（杭州）&lt;/td&gt;&lt;td&gt;&lt;code&gt;oss-cn-hangzhou&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;华东2（上海）&lt;/td&gt;&lt;td&gt;&lt;code&gt;oss-cn-shanghai&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;华南1（深圳）&lt;/td&gt;&lt;td&gt;&lt;code&gt;oss-cn-shenzhen&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;中国（香港）&lt;/td&gt;&lt;td&gt;&lt;code&gt;oss-cn-hongkong&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h2&gt;同步功能使用&lt;/h2&gt;&lt;h3&gt;同步历史附件&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;进入「阿里云OSS同步」页面&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击「开始同步」&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;插件会自动遍历所有附件，逐个上传到 OSS&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;同步过程可以随时停止，支持断点续传&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;链接替换&lt;/h3&gt;&lt;p&gt;同步完成后，需要将文章内容中的附件链接替换为 OSS 链接：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;一键替换附件为 OSS 链接&lt;/strong&gt;：将所有本地域名替换为 OSS 域名&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;一键替换附件为本地链接&lt;/strong&gt;：将所有 OSS 域名换回本地域名（回滚操作）&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;⚠️ &lt;strong&gt;重要提示&lt;/strong&gt;：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&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;/ul&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h2&gt;常见问题&lt;/h2&gt;&lt;h3&gt;Q1: 上传失败怎么办？&lt;/h3&gt;&lt;p&gt;A: 检查以下几点：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;AccessKeyId 和 AccessKeySecret 是否正确&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Bucket 名称和地域是否匹配&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;OSS Bucket 是否设置为「公共读」权限&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;服务器网络是否能正常访问阿里云 OSS&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;Q2: 配置好后还是显示本地链接？&lt;/h3&gt;&lt;p&gt;A:&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&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;/ol&gt;&lt;h3&gt;Q3: 同步时出现超时错误？&lt;/h3&gt;&lt;p&gt;A: 请修改 php.ini 配置：&lt;/p&gt;&lt;pre&gt;max_execution_time&amp;nbsp;=&amp;nbsp;300
memory_limit&amp;nbsp;=&amp;nbsp;256M&lt;/pre&gt;&lt;h3&gt;Q4: 更换域名后怎么办？&lt;/h3&gt;&lt;p&gt;A:&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;修改插件配置中的「域名」&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;执行「一键替换附件为 OSS 链接」更新文章内容&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;注意事项&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;目录修改&lt;/strong&gt;：「保存目录」一旦投入使用，请勿随意更改，否则历史附件链接会失效&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;数据备份&lt;/strong&gt;：执行任何数据库操作前（如链接替换），请务必备份数据库&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;权限设置&lt;/strong&gt;：OSS Bucket 需要设置「公共读」权限，否则图片无法正常访问&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;费用说明&lt;/strong&gt;：使用阿里云 OSS 会产生相应的存储和流量费用，请参考阿里云官方定价&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;技术支持&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;作者：@神经元&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;邮箱：&lt;a href=&quot;mailto:shejiz@qq.com&quot;&gt;shejiz@qq.com&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;博客：&lt;a href=&quot;https://blog.rcku.cn&quot;&gt;https://blog.rcku.cn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;更新日志&lt;/h2&gt;&lt;h3&gt;v0.0.1 (2026-04-16)&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;初始版本发布&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;实现基础的 OSS 上传功能&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;支持批量同步和链接替换&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;许可证&lt;/h2&gt;&lt;p&gt;本插件采用 MIT 许可证开源。&lt;/p&gt;</description><pubDate>Thu, 16 Apr 2026 09:46:31 +0800</pubDate></item><item><title>在飞牛OS中  使用虚拟机和docker搭建宝塔面板的区分</title><link>https://blog.rcku.cn/show/347.html</link><description>&lt;p&gt;在飞牛OS（FnOS）中，&lt;strong&gt;虚拟机&lt;/strong&gt;和&lt;strong&gt;Docker&lt;/strong&gt;是两种完全不同的技术架构。简单来说：&lt;strong&gt;虚拟机是完整独立的服务器（重、隔离强、功能全），Docker是轻量化容器（轻、共享内核、易部署）&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;下面从核心区别、适用场景、优缺点等方面，详细对比在飞牛OS上用这两种方式搭建&lt;strong&gt;宝塔面板&lt;/strong&gt;。&lt;/p&gt;&lt;hr/&gt;&lt;h3&gt;一、核心原理与架构区别&lt;/h3&gt;&lt;h4&gt;1. 虚拟机（VM）方式&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;原理&lt;/strong&gt;：飞牛OS通过KVM虚拟化技术，创建一台&lt;strong&gt;完整的独立Linux电脑&lt;/strong&gt;（如Ubuntu/CentOS），有自己的内核、硬盘、网卡。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;宝塔安装&lt;/strong&gt;：在虚拟机内，像在独立服务器上一样，&lt;strong&gt;执行官方一键脚本&lt;/strong&gt;安装。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;隔离级别&lt;/strong&gt;：&lt;strong&gt;完全隔离&lt;/strong&gt;（与飞牛OS、与其他虚拟机完全独立）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;资源&lt;/strong&gt;：需要&lt;strong&gt;独占分配&lt;/strong&gt;CPU、内存、硬盘（例如分配2核4G，就一直占用）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;2. Docker 容器方式&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;原理&lt;/strong&gt;：所有容器&lt;strong&gt;共享飞牛OS的Linux内核&lt;/strong&gt;，只是打包了宝塔运行的库和环境，是&lt;strong&gt;进程级隔离&lt;/strong&gt;。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;宝塔安装&lt;/strong&gt;：飞牛应用中心直接安装镜像，或用 &lt;code&gt;docker run&lt;/code&gt; 命令拉起。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;隔离级别&lt;/strong&gt;：&lt;strong&gt;轻量隔离&lt;/strong&gt;（共享内核，文件系统/网络是隔离的）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;资源&lt;/strong&gt;：&lt;strong&gt;动态占用&lt;/strong&gt;（不用不占，高峰才占用）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr/&gt;&lt;h3&gt;二、详细对比表（飞牛OS场景）&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th align=&quot;left&quot;&gt;维度&lt;/th&gt;&lt;th align=&quot;left&quot;&gt;&lt;strong&gt;虚拟机（VM）安装宝塔&lt;/strong&gt;&lt;/th&gt;&lt;th align=&quot;left&quot;&gt;&lt;strong&gt;Docker 安装宝塔&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;系统独立性&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;完全独立系统（有自己内核）&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;共享飞牛OS内核&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;资源占用&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;高&lt;/strong&gt;（必须固定分配内存/CPU）&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;低&lt;/strong&gt;（轻量、秒启、动态占用）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;端口冲突&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;无&lt;/strong&gt;（虚拟机独立IP，80/443随便用）&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;有&lt;/strong&gt;（需映射端口，如38888:8888）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;功能完整性&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;完整&lt;/strong&gt;（可装Docker、虚拟化、各种服务）&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;受限&lt;/strong&gt;（嵌套Docker/底层工具易失败）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;数据安全&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;高&lt;/strong&gt;（虚拟机崩溃不影响飞牛数据）&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;中&lt;/strong&gt;（需做好挂载，否则易丢数据）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;网络模式&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;独立IP、独立网卡&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;桥接/host（与飞牛同网络）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;部署难度&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;中&lt;/strong&gt;（装系统→装宝塔）&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;低&lt;/strong&gt;（应用中心一键/一条命令）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;迁移备份&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;导出虚拟机文件（大、慢）&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;导出镜像/备份目录（小、快）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;飞牛OS兼容性&lt;/strong&gt;&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;极高&lt;/strong&gt;（完全隔离，不影响宿主）&lt;/td&gt;&lt;td align=&quot;left&quot;&gt;&lt;strong&gt;一般&lt;/strong&gt;（可能与飞牛服务冲突）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr/&gt;&lt;h3&gt;三、各自优缺点（飞牛OS实战）&lt;/h3&gt;&lt;h4&gt;✅ 虚拟机安装宝塔：优点&lt;/h4&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;完全独立、最稳&lt;/strong&gt;：和飞牛OS彻底隔离，不怕搞坏系统。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;功能无阉割&lt;/strong&gt;：宝塔内可再装Docker、Python、各种环境，和独立服务器一样。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;端口自由&lt;/strong&gt;：直接用80/443/3306等标准端口，不用映射。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;数据安全&lt;/strong&gt;：虚拟机出问题，NAS上的照片/文件完全安全。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;适合生产/长期稳定&lt;/strong&gt;：跑网站、小程序、业务系统最稳妥。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4&gt;⚠️ 虚拟机安装宝塔：缺点&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;占用资源大&lt;/strong&gt;：至少分配1–2核 + 2–4G内存，飞牛内存小不推荐。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;启动慢&lt;/strong&gt;：虚拟机开机几十秒，宝塔启动慢。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;硬盘占用大&lt;/strong&gt;：一个虚拟机几十GB。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;✅ Docker安装宝塔：优点&lt;/h4&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;极轻量、省资源&lt;/strong&gt;：内存占用几百MB，秒启动。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;部署极快&lt;/strong&gt;：飞牛应用中心一键安装。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;易迁移/备份&lt;/strong&gt;：换设备、重装系统恢复快。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;不影响飞牛底层&lt;/strong&gt;（相对底层安装而言）。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4&gt;⚠️ Docker安装宝塔：缺点&lt;/h4&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;功能受限&lt;/strong&gt;：&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;宝塔内&lt;strong&gt;再装Docker容易失败&lt;/strong&gt;（Docker in Docker）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;部分系统工具、底层命令不可用。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;端口冲突/映射麻烦&lt;/strong&gt;：&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;飞牛占用80/443，宝塔必须用38888、8080等。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;访问：&lt;code&gt;http://飞牛IP:38888&lt;/code&gt;。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;稳定性一般&lt;/strong&gt;：&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;容器异常退出可能导致服务中断。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;挂载没做好，&lt;strong&gt;重启后数据丢失&lt;/strong&gt;（常见坑）。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;网络复杂&lt;/strong&gt;：host/桥接模式配置复杂。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr/&gt;&lt;h3&gt;四、飞牛OS下怎么选（建议）&lt;/h3&gt;&lt;h4&gt;选 &lt;strong&gt;虚拟机&lt;/strong&gt; 安装宝塔，如果你：&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;要&lt;strong&gt;长期稳定跑网站、博客、电商、业务系统&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;需要&lt;strong&gt;完整功能&lt;/strong&gt;（宝塔内再装Docker、数据库集群、多站点）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;飞牛内存 &lt;strong&gt;≥8GB&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;重视&lt;strong&gt;数据安全、系统隔离&lt;/strong&gt;，不想影响NAS存储&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;追求&lt;strong&gt;标准端口80/443&lt;/strong&gt;直接使用&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;选 &lt;strong&gt;Docker&lt;/strong&gt; 安装宝塔，如果你：&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;只是&lt;strong&gt;测试、学习、临时用&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;跑&lt;strong&gt;简单静态站、个人小项目&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;飞牛内存 &lt;strong&gt;≤4GB&lt;/strong&gt;、资源紧张&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;喜欢&lt;strong&gt;一键部署、快速迁移&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr/&gt;&lt;h3&gt;五、飞牛OS安装简要步骤&lt;/h3&gt;&lt;h4&gt;1. 虚拟机安装宝塔（推荐稳定）&lt;/h4&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;飞牛应用中心 → 虚拟机 → 创建Ubuntu/CentOS。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;分配：1–2核、2–4G内存、30G+硬盘。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;启动 → VNC/SSH进入。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;执行宝塔官方安装脚本：&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;pre&gt;wget&amp;nbsp;-O&amp;nbsp;install.sh&amp;nbsp;https://download.bt.cn/install/install_panel.sh&amp;nbsp;&amp;amp;#x26;&amp;amp;#x26;&amp;nbsp;bash&amp;nbsp;install.sh&lt;/pre&gt;&lt;h4&gt;2. Docker安装宝塔（快速）&lt;/h4&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;飞牛 → Docker → 初始化存储路径。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;应用中心搜 &lt;strong&gt;btpanel/宝塔&lt;/strong&gt; 安装，或命令：&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;pre&gt;docker&amp;nbsp;run&amp;nbsp;-d&amp;nbsp;--name&amp;nbsp;baota&amp;nbsp;--net=host&amp;nbsp;--restart=always&amp;nbsp;pch18/baota:latest&lt;/pre&gt;&lt;ol start=&quot;3&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;访问：&lt;code&gt;http://飞牛IP:38888&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr/&gt;&lt;h3&gt;六、总结（一句话）&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;虚拟机 = 独立小服务器&lt;/strong&gt;：&lt;strong&gt;稳、全、重、隔离强&lt;/strong&gt;（适合长期正式使用）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Docker = 轻量化沙箱&lt;/strong&gt;：&lt;strong&gt;轻、快、简、功能受限&lt;/strong&gt;（适合测试/轻量场景）&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;飞牛NAS上跑正式网站/服务，优先选虚拟机；折腾测试用Docker。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;需要我给你一份&lt;strong&gt;飞牛OS虚拟机安装宝塔的完整避坑教程&lt;/strong&gt;（含端口配置、资源分配、数据备份方案）吗？&lt;/p&gt;</description><pubDate>Thu, 02 Apr 2026 09:50:33 +0800</pubDate></item><item><title>ASN信息查询云服务厂商IP归属</title><link>https://blog.rcku.cn/show/346.html</link><description>&lt;p&gt;&lt;strong&gt;能查到&lt;/strong&gt;。通过ASN（自治系统号）查询，可直接判定IP是否归属于云服务厂商，这是定位IP归属的核心方法之一。&lt;/p&gt;&lt;hr/&gt;&lt;h3&gt;核心判断依据&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;组织归属（Org）&lt;/strong&gt;ASN记录会明确显示网络实体名称，如包含“Alibaba Cloud”“Tencent Cloud”“Amazon.com, Inc.”“Microsoft Corporation”等，即可确定为对应云厂商。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;ASN类型标签（Type）&lt;/strong&gt;专业IP情报库（如IPinfo、MaxMind）会将云厂商ASN标记为&lt;strong&gt;Cloud&lt;/strong&gt;或&lt;strong&gt;Hosting&lt;/strong&gt;，与ISP（运营商）、Residential（住宅）类型明确区分。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;主流云厂商典型ASN&lt;/strong&gt;&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;云厂商&lt;/th&gt;&lt;th&gt;常用ASN号&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;阿里云&lt;/td&gt;&lt;td&gt;AS45102、AS37963&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;腾讯云&lt;/td&gt;&lt;td&gt;AS45090、AS132203&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;AWS&lt;/td&gt;&lt;td&gt;AS16509、AS14618&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;微软Azure&lt;/td&gt;&lt;td&gt;AS8075&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Google Cloud&lt;/td&gt;&lt;td&gt;AS396982&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cloudflare&lt;/td&gt;&lt;td&gt;AS13335&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr/&gt;&lt;h3&gt;快速查询方法（适合运维场景）&lt;/h3&gt;&lt;h4&gt;1. 命令行（高效直接）&lt;/h4&gt;&lt;pre class=&quot;language-bash&quot;&gt;#&amp;nbsp;方法1：使用whois（系统自带）whois&amp;nbsp;120.79.0.0&amp;nbsp;|&amp;nbsp;grep&amp;nbsp;-E&amp;nbsp;&amp;#39;ASN|OrgName&amp;#39;#&amp;nbsp;方法2：使用Team&amp;nbsp;Cymru的IP-to-ASN服务（精准）dig&amp;nbsp;+short&amp;nbsp;120.79.0.0.asn.cymru.com&amp;nbsp;TXT&lt;/pre&gt;&lt;h4&gt;2. 在线工具（可视化）&lt;/h4&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;bgp.he.net&lt;/strong&gt;：输入IP查看ASN及路由信息，权威且详细。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;ipinfo.io&lt;/strong&gt;：直接显示IP的ASN、组织及“cloud”标签。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;whois.ipip.net&lt;/strong&gt;：国内访问快，适合查询国内云厂商IP。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr/&gt;&lt;h3&gt;注意事项&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;混合场景&lt;/strong&gt;：部分企业会将自有IP通过云厂商BGP广播，此时ASN仍归云厂商所有。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;代理/CDN干扰&lt;/strong&gt;：Cloudflare等CDN的ASN（AS13335）会掩盖源站真实IP，需先解耦CDN层。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;准确性&lt;/strong&gt;：优先参考APNIC、ARIN等注册机构的WHOIS数据，或Team Cymru的ASN映射，避免第三方库过时。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr/&gt;&lt;h3&gt;运维实战建议&lt;/h3&gt;&lt;p&gt;在MySQL防火墙、Nginx限流或WAF规则中，可直接通过&lt;strong&gt;屏蔽云厂商ASN&lt;/strong&gt;来拦截批量爬虫或恶意请求，比维护IP黑名单更高效稳定。例如，在Cloudflare WAF中添加规则：&lt;code&gt;(ip.geoip.asnum in {45102 45090 16509})&lt;/code&gt; 即可屏蔽阿里云、腾讯云、AWS的流量。&lt;/p&gt;</description><pubDate>Sun, 01 Mar 2026 08:30:52 +0800</pubDate></item><item><title>Ubuntu 挂载123云盘的webdav</title><link>https://blog.rcku.cn/show/345.html</link><description>&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;img src=&quot;https://aos.ixii.cn/blog/zb_users/upload/2026/02/202602021770021696509927.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;# 1. 安装依赖（Ubuntu用apt，CentOS用yum install davfs2）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;sudo apt update &amp;amp;&amp;amp; sudo apt install -y davfs2&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;# 2. 创建挂载点（如/mnt/123pan）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;sudo mkdir -p /data/webdav &amp;amp;&amp;amp; sudo chmod 755 /data/webdav&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;# 3. 配置凭证（避免每次输入密码）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;echo &amp;quot;https://webdav.123pan.cn/webdav 账号 密码&amp;quot; | sudo tee -a /etc/davfs2/secrets&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;sudo chmod 600 /etc/davfs2/secrets&amp;nbsp; # 权限必须600，否则报错&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;# 4. 临时挂载（测试连通性）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;sudo mount -t davfs https://webdav.123pan.cn/webdav /data/webdav&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;# 5. 开机自启（写入fstab，重启自动挂载）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: nowrap;&quot;&gt;echo &amp;quot;https://webdav.123pan.cn/webdav /data/webdav davfs defaults,user,auto 0 0&amp;quot; | sudo tee -a /etc/fstab&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 02 Feb 2026 16:39:42 +0800</pubDate></item><item><title>【Zblog插件】腾讯云 COS 对象储存插件（au_cos）</title><link>https://blog.rcku.cn/show/343.html</link><description>&lt;h1 id=&quot;h1--cos-au_cos-&quot; style=&quot;margin-top: 1.5rem; margin-bottom: 1rem; color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif; text-wrap: wrap;&quot;&gt;腾讯云COS对象储存插件（au_cos）&lt;/h1&gt;&lt;h2 id=&quot;h2-u63D2u4EF6u7B80u4ECB&quot; style=&quot;margin-top: 1.5rem; margin-bottom: 1rem; color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif; text-wrap: wrap;&quot;&gt;&lt;a name=&quot;插件简介&quot; class=&quot;reference-link&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;插件简介&lt;/h2&gt;&lt;p style=&quot;color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif; font-size: medium; text-wrap: wrap;&quot;&gt;腾讯云COS对象储存插件（au_cos）是一款专为ZBlog设计的附件存储解决方案，能够将网站附件自动同步至腾讯云对象存储（COS），实现附件的云端管理与加速访问，提升网站性能与数据安全性。&lt;/p&gt;&lt;h2 id=&quot;h2-u6838u5FC3u529Fu80FD&quot; style=&quot;margin-top: 1.5rem; margin-bottom: 1rem; color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif; text-wrap: wrap;&quot;&gt;&lt;a name=&quot;核心功能&quot; class=&quot;reference-link&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;核心功能&lt;/h2&gt;&lt;ol style=&quot;color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif; font-size: medium; text-wrap: wrap;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;附件云存储&lt;/strong&gt;：自动将新上传的附件同步至腾讯云COS&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;双向链接转换&lt;/strong&gt;：支持一键替换文章中附件链接为COS链接或本地链接&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;灵活存储策略&lt;/strong&gt;：可选择保留本地文件、删除本地文件或仅用COS作为备份&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;批量同步管理&lt;/strong&gt;：支持历史附件批量同步至COS，同步过程可视化&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;实时同步日志&lt;/strong&gt;：详细记录同步过程，便于问题排查与进度跟踪&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2 id=&quot;h2-u914Du7F6Eu8BF4u660E&quot; style=&quot;margin-top: 1.5rem; margin-bottom: 1rem; color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif; text-wrap: wrap;&quot;&gt;&lt;a name=&quot;配置说明&quot; class=&quot;reference-link&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;配置说明&lt;/h2&gt;&lt;ul style=&quot;color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif; font-size: medium; text-wrap: wrap;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;支持自定义腾讯云API密钥（SecretId/SecretKey）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;可配置存储桶（Bucket）、地域（Region）及自定义域名&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;支持设置COS中的保存目录结构&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;/ul&gt;&lt;h2 id=&quot;h2-u4F7Fu7528u4F18u52BF&quot; style=&quot;margin-top: 1.5rem; margin-bottom: 1rem; color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif; text-wrap: wrap;&quot;&gt;&lt;a name=&quot;使用优势&quot; class=&quot;reference-link&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;使用优势&lt;/h2&gt;&lt;ul style=&quot;color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif; font-size: medium; text-wrap: wrap;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;减轻本地服务器存储压力，降低运维成本&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;借助腾讯云CDN加速，提升附件访问速度&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;/ul&gt;&lt;h2 id=&quot;h2-u6CE8u610Fu4E8Bu9879&quot; style=&quot;margin-top: 1.5rem; margin-bottom: 1rem; color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif; text-wrap: wrap;&quot;&gt;&lt;a name=&quot;注意事项&quot; class=&quot;reference-link&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;注意事项&lt;/h2&gt;&lt;ol style=&quot;color: rgb(51, 51, 51); font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif; font-size: medium; text-wrap: wrap;&quot; class=&quot; list-paddingleft-2&quot;&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;建议适当调整PHP运行超时时间，避免大文件同步失败&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;存储目录配置后尽量不要修改，以免影响附件访问&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;截图：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://aos.ixii.cn/blog/zb_users/upload/2025/12/202512091765283594155854.png&quot; alt=&quot;image.png&quot;/&gt;&lt;img src=&quot;https://aos.ixii.cn/blog/zb_users/upload/2025/12/202512091765283653123797.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Tue, 09 Dec 2025 20:30:57 +0800</pubDate></item><item><title>【持续更新】宝塔面板系统防火墙IP规则包，导入即用</title><link>https://blog.rcku.cn/show/342.html</link><description>&lt;p&gt;注意：&lt;/p&gt;&lt;p&gt;1、导入很方便，删除的话对于新手非常不友好；&lt;/p&gt;&lt;p&gt;2、理论上不会有误报，这些IP都是长期搞事情的；&lt;/p&gt;&lt;p&gt;3、精准入库，所以全是单个IP，没有IP段，可自行整理；&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;作用：&lt;/p&gt;&lt;p&gt;1、屏蔽刷短信的IP&lt;/p&gt;&lt;p&gt;2、屏蔽恶意请求&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;下载链接：&lt;/p&gt;&lt;p&gt;https://www.123865.com/s/7dcETd-bAHlv&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;其他：&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;https://&lt;/span&gt;api.rcku.cn/wafips?type=1&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;https://&lt;/span&gt;api.rcku.cn/wafips?type=2&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;https://&lt;/span&gt;api.rcku.cn/wafips?type=3&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://aos.ixii.cn/blog/zb_users/upload/2025/12/202512091765269041536657.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;效果立竿见影！&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://aos.ixii.cn/blog/zb_users/upload/2025/12/202512101765350183341618.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://aos.ixii.cn/blog/zb_users/upload/2025/12/202512101765350065713346.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;</description><pubDate>Tue, 09 Dec 2025 16:28:19 +0800</pubDate></item><item><title>windows 挂载 nfs smb 优缺点</title><link>https://blog.rcku.cn/show/341.html</link><description>&lt;p&gt;在 Windows 系统中，&lt;strong&gt;NFS（Network File System）&lt;/strong&gt; 和 &lt;strong&gt;SMB（Server Message Block，也称 CIFS）&lt;/strong&gt; 是两种最常用的网络文件共享协议，二者在设计目标、兼容性、性能、安全性等方面差异显著，适用于不同场景。以下是详细的优缺点对比及适用场景分析：&lt;/p&gt;&lt;h2&gt;一、核心定义与设计背景&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;SMB&lt;/strong&gt;：微软主导开发的协议（最初用于 Windows 局域网），主打 &lt;strong&gt;跨平台兼容性（Windows/macOS/Linux）&lt;/strong&gt; 和 &lt;strong&gt;易用性&lt;/strong&gt;，面向桌面端、办公场景，支持文件/打印机共享、权限控制、加密等功能。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;NFS&lt;/strong&gt;：最初由 Sun 开发的 Unix/Linux 原生协议，主打 &lt;strong&gt;高性能、低延迟&lt;/strong&gt;，面向服务器/嵌入式场景（如数据中心、集群存储），设计上更贴近 Unix 文件系统语义。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;二、Windows 下挂载 NFS vs SMB 优缺点对比&lt;/h2&gt;&lt;h3&gt;1. 兼容性&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;特性&lt;/th&gt;&lt;th&gt;NFS（Windows 挂载）&lt;/th&gt;&lt;th&gt;SMB（Windows 挂载）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Windows 原生支持&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;❌ 需手动启用（控制面板→程序→启用 NFS 客户端），部分版本（如家庭版）不支持 NFS 服务器端，仅支持客户端&lt;/td&gt;&lt;td&gt;✅ 完全原生支持（默认启用），从 Windows XP 到 Windows 11 全版本兼容，服务器端（文件共享）开箱即用&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;跨平台兼容性&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;✅ 对 Unix/Linux 服务器兼容性极佳（Linux 原生协议），macOS 支持但需配置&lt;/td&gt;&lt;td&gt;✅ 跨平台支持更广泛（Windows/macOS/Linux/Android/iOS），macOS 原生支持，Linux 需安装 Samba 服务&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;设备兼容性&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;❌ 对嵌入式设备（如路由器、NAS）支持有限（部分 NAS 需手动开启 NFS 服务）&lt;/td&gt;&lt;td&gt;✅ 绝大多数 NAS（群晖、威联通）、路由器默认支持 SMB，家用设备兼容性拉满&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;2. 性能表现&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;特性&lt;/th&gt;&lt;th&gt;NFS（Windows 挂载）&lt;/th&gt;&lt;th&gt;SMB（Windows 挂载）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;大文件传输&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;✅ 优势明显：协议开销低（无过多会话/权限冗余），大文件（GB 级）读写速度更快，延迟更低&lt;/td&gt;&lt;td&gt;❌ 协议开销较高（需处理会话管理、加密协商等），大文件传输速度略逊于 NFS&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;小文件/密集 I/O&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;❌ 短板：对小文件（KB 级）批量读写优化不足，频繁 I/O 时性能波动大&lt;/td&gt;&lt;td&gt;✅ 优势：针对小文件、随机读写优化更好（如办公文档、图片），I/O 稳定性更高&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;网络依赖&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;❌ 对网络稳定性要求高，丢包/延迟场景下性能下降明显（无内置缓冲优化）&lt;/td&gt;&lt;td&gt;✅ 对网络波动容忍度高，支持断点续传、缓冲机制，弱网环境更稳定&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;并发性能&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;✅ 多客户端并发读写时，资源占用更低（协议设计简洁）&lt;/td&gt;&lt;td&gt;❌ 高并发场景下，服务器端 CPU/内存占用较高（需维护多个会话）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;3. 安全性&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;特性&lt;/th&gt;&lt;th&gt;NFS（Windows 挂载）&lt;/th&gt;&lt;th&gt;SMB（Windows 挂载）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;认证机制&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;❌ 原生仅支持 Unix UID/GID 认证（无密码），Windows 挂载时需手动映射 UID/GID，安全性差；需依赖 NFSv4 + Kerberos 实现强认证（配置复杂）&lt;/td&gt;&lt;td&gt;✅ 支持多种认证方式：Windows 账户密码、NTLMv2、Kerberos，默认启用密码保护，配置简单&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;加密传输&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;❌ NFSv3 不支持加密（数据明文传输），NFSv4 需额外配置 TLS 加密（步骤繁琐）&lt;/td&gt;&lt;td&gt;✅ SMB 3.0+ 原生支持 AES-128 加密传输（默认开启），防止数据窃听，无需额外配置&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;权限控制&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;❌ 权限基于 Unix 文件系统（rwx），粒度较粗，Windows 权限（如 NTFS &amp;nbsp;ACL）映射不兼容，易出现权限错乱&lt;/td&gt;&lt;td&gt;✅ 完美兼容 Windows NTFS 权限（读/写/执行/修改/完全控制等），支持细粒度权限分配，与本地文件权限逻辑一致&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;安全漏洞&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;✅ 历史漏洞较少（协议设计简单，攻击面小）&lt;/td&gt;&lt;td&gt;❌ 因使用广泛，历史漏洞较多（如 EternalBlue 漏洞利用 SMBv1），需禁用 SMBv1 规避风险（Windows 10+ 已默认禁用）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;4. 易用性与配置成本&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;特性&lt;/th&gt;&lt;th&gt;NFS（Windows 挂载）&lt;/th&gt;&lt;th&gt;SMB（Windows 挂载）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;挂载操作&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;❌ 复杂：需先启用 NFS 客户端，服务器端需配置 exports 文件（指定共享目录、允许的客户端 IP），Windows 端需用命令行（&lt;code&gt;mount -o anon \\nfs-server-ip\share Z:&lt;/code&gt;）或注册表配置 UID/GID&lt;/td&gt;&lt;td&gt;✅ 简单：服务器端右键文件夹→属性→共享，客户端直接通过“网络”访问 &lt;code&gt;\\smb-server-ip\share&lt;/code&gt;，或映射网络驱动器（图形化操作），无需命令行&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;故障排查&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;❌ 日志不直观（依赖 Windows 事件查看器+NFS 服务器日志），权限/连接问题排查难度大&lt;/td&gt;&lt;td&gt;✅ 日志清晰（Windows 共享日志、客户端连接日志），常见问题（如权限不足、网络不通）有明确提示，排查简单&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;版本兼容性&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;❌ Windows 仅支持 NFSv3/v4，部分老设备（如旧 NAS）仅支持 NFSv2，易出现版本不兼容&lt;/td&gt;&lt;td&gt;✅ 自动协商版本（SMBv1/SMBv2/SMBv3），向下兼容老设备，无需手动指定版本&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;5. 功能特性&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;th&gt;特性&lt;/th&gt;&lt;th&gt;NFS（Windows 挂载）&lt;/th&gt;&lt;th&gt;SMB（Windows 挂载）&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;文件锁支持&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;✅ 支持 Advisory Lock（建议锁），但 Windows 应用（如 Office）依赖 Mandatory Lock（强制锁），可能出现文件编辑冲突&lt;/td&gt;&lt;td&gt;✅ 完美支持 Mandatory Lock，解决多用户同时编辑文件的冲突问题（如 Office 文档锁定）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;符号链接/硬链接&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;✅ 支持 Unix 符号链接，但 Windows 下可能无法识别（需额外配置）&lt;/td&gt;&lt;td&gt;❌ 不支持 Unix 符号链接，Windows 符号链接仅在本地生效，网络共享中无法识别&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;其他功能&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;❌ 无内置打印机共享、文件搜索优化等功能&lt;/td&gt;&lt;td&gt;✅ 支持打印机共享、文件索引（客户端可搜索共享目录文件）、离线文件同步（缓存到本地，断网可用）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt;三、适用场景总结&lt;/h2&gt;&lt;h3&gt;优先选 NFS（Windows 挂载）的场景&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Windows 客户端访问 Linux/Unix 服务器&lt;/strong&gt;：如连接 Linux 数据服务器、集群存储（如 GlusterFS、Ceph），需高效传输大文件（如视频、备份数据）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;高性能需求场景&lt;/strong&gt;：如视频编辑、大数据处理，需要低延迟、高吞吐量的文件读写。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;无安全敏感数据&lt;/strong&gt;：内部局域网环境，无需加密和复杂权限控制（如实验室、测试环境）。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;优先选 SMB（Windows 挂载）的场景&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Windows 局域网共享&lt;/strong&gt;：如办公室电脑间共享文件、家用 NAS 连接（群晖、威联通默认推荐 SMB）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;跨设备/跨平台共享&lt;/strong&gt;：需兼容 macOS、Android 等设备，或同时连接 Windows 和 Linux 客户端。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;安全敏感场景&lt;/strong&gt;：传输办公文档、财务数据等，需加密传输和细粒度权限控制。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;易用性需求高&lt;/strong&gt;：非技术人员操作，需图形化配置、简单挂载（如映射网络驱动器）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;小文件/随机读写&lt;/strong&gt;：如共享办公文档、图片、代码文件，需稳定的小文件 I/O 性能。&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;不推荐使用的场景&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;禁用 SMBv1 后，避免连接仅支持 SMBv1 的老设备（如 Windows XP 服务器、旧打印机）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;不建议在公网环境使用 NFS（无加密）或 SMB（需端口映射，风险高），公网共享建议用 FTP/SFTP 或云存储。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;四、关键注意事项&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;NFS 配置要点&lt;/strong&gt;：&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;Windows 需启用“NFS 客户端”功能（控制面板→程序→启用或关闭 Windows 功能）。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;服务器端（Linux）需安装 &lt;code&gt;nfs-utils&lt;/code&gt;，配置 &lt;code&gt;/etc/exports&lt;/code&gt;（如 &lt;code&gt; /data/share 192.168.1.0/24(rw,sync,no_root_squash)&lt;/code&gt;），重启 NFS 服务。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;避免匿名挂载（&lt;code&gt;anon&lt;/code&gt; 参数），生产环境建议配置 NFSv4 + Kerberos 认证。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;SMB 配置要点&lt;/strong&gt;：&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;禁用 SMBv1（运行 &lt;code&gt;services.msc&lt;/code&gt;，禁用“Server”服务中的 SMBv1，或通过组策略配置）。&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;/ul&gt;&lt;/ol&gt;&lt;h2&gt;总结&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;SMB 是 Windows 环境的“首选协议”&lt;/strong&gt;：兼容性强、易用性高、安全性好，适合绝大多数办公和家用场景。&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;NFS 是“高性能补充协议”&lt;/strong&gt;：仅在访问 Linux 服务器、传输大文件且对性能要求极高时考虑，需接受配置复杂、安全性弱的短板。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;如果没有特殊的 Linux 服务器兼容需求，&lt;strong&gt;直接使用 SMB 即可满足 90% 以上的 Windows 网络共享场景&lt;/strong&gt;。&lt;/p&gt;</description><pubDate>Fri, 21 Nov 2025 09:47:38 +0800</pubDate></item><item><title>ubuntu Debian 允许 root 用户通过 SSH 登录</title><link>https://blog.rcku.cn/show/340.html</link><description>&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;vim&amp;nbsp;/etc/ssh/sshd_config&lt;/pre&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;PermitRootLogin&amp;nbsp;yes&amp;nbsp;&amp;nbsp;#&amp;nbsp;允许&amp;nbsp;root&amp;nbsp;用密码登录&lt;/pre&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;sudo&amp;nbsp;systemctl&amp;nbsp;restart&amp;nbsp;sshd
sudo&amp;nbsp;systemctl&amp;nbsp;restart&amp;nbsp;ssh&amp;nbsp;#&amp;nbsp;二选一&amp;nbsp;命名差异&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 05 Nov 2025 09:31:42 +0800</pubDate></item><item><title>PHP代理webdav  123云盘示例</title><link>https://blog.rcku.cn/show/339.html</link><description>&lt;p&gt;php代理webdav&amp;nbsp; 123云盘示例&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;&amp;lt;?php
/*
&amp;nbsp;*&amp;nbsp;@Author&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&amp;nbsp;　&amp;nbsp;@祥　技术支持
&amp;nbsp;*&amp;nbsp;@Mail&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;shjiz@qq.com
&amp;nbsp;*&amp;nbsp;@Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;2025-12-17&amp;nbsp;10:39:20
&amp;nbsp;*&amp;nbsp;@LastEditTime&amp;nbsp;:&amp;nbsp;2025-12-17&amp;nbsp;14:32:00
&amp;nbsp;*&amp;nbsp;@LastEditors&amp;nbsp;&amp;nbsp;:&amp;nbsp;&amp;nbsp;　&amp;nbsp;@祥💥　技术支持
&amp;nbsp;*&amp;nbsp;@Description&amp;nbsp;&amp;nbsp;:&amp;nbsp;
&amp;nbsp;*&amp;nbsp;@FilePath&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;\webdav\index.php
&amp;nbsp;*&amp;nbsp;It&amp;#39;s&amp;nbsp;up&amp;nbsp;to&amp;nbsp;you&amp;nbsp;^_^
&amp;nbsp;*&amp;nbsp;Copyright&amp;nbsp;(c)&amp;nbsp;2025&amp;nbsp;by&amp;nbsp;shjiz@qq.com,&amp;nbsp;All&amp;nbsp;Rights&amp;nbsp;Reserved.&amp;nbsp;
&amp;nbsp;*/
error_reporting(0);
//&amp;nbsp;设置脚本默认字符集
header(&amp;#39;Content-Type:&amp;nbsp;text/html;&amp;nbsp;charset=UTF-8&amp;#39;);
//&amp;nbsp;确保PHP使用UTF-8处理字符串
define(&amp;#39;DEFAULT_CHARSET&amp;#39;,&amp;nbsp;&amp;#39;UTF-8&amp;#39;);
//&amp;nbsp;配置WebDAV连接信息
$webdavUrl&amp;nbsp;=&amp;nbsp;&amp;#39;https://webdav.123pan.cn/webdav&amp;#39;;
$username&amp;nbsp;=&amp;nbsp;&amp;#39;1*********2&amp;#39;;
$password&amp;nbsp;=&amp;nbsp;&amp;#39;*******************************f****&amp;#39;;

$REQUEST_URI&amp;nbsp;=&amp;nbsp;$_SERVER[&amp;#39;REQUEST_URI&amp;#39;];
$REQUEST_URI&amp;nbsp;=&amp;nbsp;preg_replace(&amp;#39;/\?.+$/&amp;#39;,&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;$REQUEST_URI);
//&amp;nbsp;直接使用原始URL，由getinfo函数负责正确编码处理
$remoteFilePath&amp;nbsp;=&amp;nbsp;urldecode($REQUEST_URI);
$encoding&amp;nbsp;=&amp;nbsp;mb_detect_encoding($remoteFilePath,&amp;nbsp;[&amp;#39;UTF-8&amp;#39;,&amp;nbsp;&amp;#39;GBK&amp;#39;,&amp;nbsp;&amp;#39;GB2312&amp;#39;],&amp;nbsp;true);
if&amp;nbsp;($encoding&amp;nbsp;!==&amp;nbsp;&amp;#39;UTF-8&amp;#39;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$remoteFilePath&amp;nbsp;=&amp;nbsp;mb_convert_encoding($remoteFilePath,&amp;nbsp;&amp;#39;UTF-8&amp;#39;,&amp;nbsp;$encoding);
}
$getinfo&amp;nbsp;=&amp;nbsp;getinfo($webdavUrl,&amp;nbsp;$username,&amp;nbsp;$password,&amp;nbsp;$remoteFilePath);
//print_r($getinfo);exit();
if($getinfo[&amp;#39;http_code&amp;#39;]&amp;nbsp;!=&amp;nbsp;302){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header(&amp;#39;HTTP/1.1&amp;nbsp;&amp;#39;.&amp;nbsp;$getinfo[&amp;#39;http_code&amp;#39;]);
}else{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!$getinfo[&amp;#39;redirect_url&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;header(&amp;#39;HTTP/1.1&amp;nbsp;404&amp;nbsp;Not&amp;nbsp;Found&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}else{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new_header($remoteFilePath);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$url&amp;nbsp;=&amp;nbsp;$getinfo[&amp;#39;redirect_url&amp;#39;];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;echo_file_content($url);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}

function&amp;nbsp;getinfo($webdavUrl,&amp;nbsp;$username,&amp;nbsp;$password,&amp;nbsp;$remoteFilePath)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ch&amp;nbsp;=&amp;nbsp;curl_init();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;先解码，再正确编码，确保URL格式正确
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$decodedPath&amp;nbsp;=&amp;nbsp;urldecode($remoteFilePath);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;将路径分割成&amp;nbsp;segments
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$pathSegments&amp;nbsp;=&amp;nbsp;explode(&amp;#39;/&amp;#39;,&amp;nbsp;$decodedPath);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$encodedSegments&amp;nbsp;=&amp;nbsp;array();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;对每个&amp;nbsp;segment&amp;nbsp;进行重新编码
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach&amp;nbsp;($pathSegments&amp;nbsp;as&amp;nbsp;$segment)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!empty($segment))&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;$encodedSegments[]&amp;nbsp;=&amp;nbsp;rawurlencode($segment);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&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;$encodedSegments[]&amp;nbsp;=&amp;nbsp;$segment;
&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;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$encodedPath&amp;nbsp;=&amp;nbsp;implode(&amp;#39;/&amp;#39;,&amp;nbsp;$encodedSegments);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$fullUrl&amp;nbsp;=&amp;nbsp;$webdavUrl&amp;nbsp;.&amp;nbsp;$encodedPath;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_URL,&amp;nbsp;$fullUrl);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_RETURNTRANSFER,&amp;nbsp;true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_USERPWD,&amp;nbsp;$username.&amp;nbsp;&amp;#39;:&amp;#39;.&amp;nbsp;$password);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_HTTPAUTH,&amp;nbsp;CURLAUTH_BASIC);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_SSL_VERIFYPEER,&amp;nbsp;false);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_SSL_VERIFYHOST,&amp;nbsp;false);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_TIMEOUT,&amp;nbsp;60);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$response&amp;nbsp;=&amp;nbsp;curl_exec($ch);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$getinfo&amp;nbsp;=&amp;nbsp;curl_getinfo($ch);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$getinfo;
}

function&amp;nbsp;echo_file_content($url)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ch&amp;nbsp;=&amp;nbsp;curl_init();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_URL,&amp;nbsp;$url);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_RETURNTRANSFER,&amp;nbsp;true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_CUSTOMREQUEST,&amp;nbsp;&amp;#39;GET&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_SSL_VERIFYPEER,&amp;nbsp;false);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_SSL_VERIFYHOST,&amp;nbsp;false);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt($ch,&amp;nbsp;CURLOPT_HTTPHEADER,&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;Accept:&amp;nbsp;text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;Accept-Language:&amp;nbsp;zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;Cache-Control:&amp;nbsp;no-cache&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;Connection:&amp;nbsp;keep-alive&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;Pragma:&amp;nbsp;no-cache&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;Sec-Fetch-Dest:&amp;nbsp;document&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;Sec-Fetch-Mode:&amp;nbsp;navigate&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;Sec-Fetch-Site:&amp;nbsp;none&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;Sec-Fetch-User:&amp;nbsp;?1&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;Upgrade-Insecure-Requests:&amp;nbsp;1&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;User-Agent:&amp;nbsp;Mozilla/5.0&amp;nbsp;(Windows&amp;nbsp;NT&amp;nbsp;10.0;&amp;nbsp;Win64;&amp;nbsp;x64)&amp;nbsp;AppleWebKit/537.36&amp;nbsp;(KHTML,&amp;nbsp;like&amp;nbsp;Gecko)&amp;nbsp;Chrome/143.0.0.0&amp;nbsp;Safari/537.36&amp;nbsp;Edg/143.0.0.0&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;sec-ch-ua:&amp;nbsp;&amp;quot;Microsoft&amp;nbsp;Edge&amp;quot;;v=&amp;quot;143&amp;quot;,&amp;nbsp;&amp;quot;Chromium&amp;quot;;v=&amp;quot;143&amp;quot;,&amp;nbsp;&amp;quot;Not&amp;nbsp;A(Brand&amp;quot;;v=&amp;quot;24&amp;quot;&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;sec-ch-ua-mobile:&amp;nbsp;?0&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;sec-ch-ua-platform:&amp;nbsp;&amp;quot;Windows&amp;quot;&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$response&amp;nbsp;=&amp;nbsp;curl_exec($ch);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_close($ch);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$response;
}

function&amp;nbsp;new_header($url){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ob_end_clean();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$url_array&amp;nbsp;=&amp;nbsp;explode(&amp;#39;.&amp;#39;,&amp;nbsp;$url);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$name&amp;nbsp;=&amp;nbsp;$url_array[count($url_array)-1];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header(&amp;#39;Content-Disposition:&amp;nbsp;inline&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;switch&amp;nbsp;($name)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;&amp;#39;jpg&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;header(&amp;#39;Content-Type:&amp;nbsp;image/jpeg&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;break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;&amp;#39;jpeg&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;header(&amp;#39;Content-Type:&amp;nbsp;image/jpeg&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;break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;&amp;#39;png&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;header(&amp;#39;Content-Type:&amp;nbsp;image/png&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;break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;case&amp;nbsp;&amp;#39;gif&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;header(&amp;#39;Content-Type:&amp;nbsp;image/jpeg&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;break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;default:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;header(&amp;#39;Content-Disposition:&amp;nbsp;attachment&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;header(&amp;#39;Content-Type:&amp;nbsp;application/octet-stream&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;break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sat, 01 Nov 2025 11:05:12 +0800</pubDate></item></channel></rss>