<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Kaire</title><link>https://blog.cityexpo.net/</link><description>懒到一种境界 ---程序猿</description><item><title>小皮面板-错误解决</title><link>https://blog.cityexpo.net/?id=22</link><description>&lt;p&gt;好的，&amp;quot;No input file specified&amp;quot;错误通常与小皮面板（如phpstudy等集成环境）的 网站 配置有关。以下是常见原因及解决方法，请按顺序排查：&lt;br/&gt;1. 检查网站根目录配置&lt;br/&gt;&lt;br/&gt;&amp;nbsp; &amp;nbsp; 问题：Nginx/Apache 配置中指定的网站根目录（root）路径错误或文件缺失。&lt;br/&gt;&amp;nbsp; &amp;nbsp; 解决：&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 打开小皮面板 → 网站管理 → 找到对应站点 → 点击「修改」&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 检查「网站目录」路径是否正确（如：D:/www/project/public）&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 确保该路径下存在入口文件（如index.php）&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 保存后重启服务。&lt;br/&gt;&lt;br/&gt;2. 确认入口文件是否存在&lt;br/&gt;&lt;br/&gt;&amp;nbsp; &amp;nbsp; 若使用框架（如Laravel、ThinkPHP），需确保：&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 入口文件在public目录下（如public/index.php）&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 网站根目录配置指向public而非项目根目录。&lt;br/&gt;&lt;br/&gt;3. 伪静态规则问题（常见于Nginx）&lt;br/&gt;&lt;br/&gt;&amp;nbsp; &amp;nbsp; 问题：未正确配置伪静态规则，导致请求未指向入口文件。&lt;br/&gt;&amp;nbsp; &amp;nbsp; 解决：&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 在站点配置中检查「伪静态」规则：&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Laravel 规则：&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;location&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;try_files&amp;nbsp;$uri&amp;nbsp;$uri/&amp;nbsp;/index.php?$query_string;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/pre&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br/&gt;&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ThinkPHP 规则：&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;location&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;if&amp;nbsp;(!-e&amp;nbsp;$request_filename){
&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;rewrite&amp;nbsp;^(.*)$&amp;nbsp;/index.php?s=$1&amp;nbsp;last;
&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;}&lt;/pre&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br/&gt;&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 保存后重启Nginx。&lt;br/&gt;&lt;br/&gt;4. 检查PHP-FPM配置&lt;br/&gt;&lt;br/&gt;&amp;nbsp; &amp;nbsp; 问题：PHP进程未正确解析脚本。&lt;br/&gt;&amp;nbsp; &amp;nbsp; 解决：&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 打开小皮面板 → PHP设置 → 找到对应PHP版本&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 编辑php.ini，确认以下配置：&lt;br/&gt;&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cgi.fix_pathinfo=1&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br/&gt;&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 重启PHP服务。&lt;br/&gt;&lt;br/&gt;5. 文件权限问题（Linux环境）&lt;br/&gt;&lt;br/&gt;&amp;nbsp; &amp;nbsp; 若在Linux系统运行：&lt;br/&gt;&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chmod -R 755 /网站目录&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chown -R www-data:www-data /网站目录&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;br/&gt;6. 其他排查步骤&lt;br/&gt;&lt;br/&gt;&amp;nbsp; &amp;nbsp; 重启所有服务：在小皮面板中重启Nginx/Apache + PHP + MySQL。&lt;br/&gt;&amp;nbsp; &amp;nbsp; 检查错误日志：&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Nginx日志：logs/nginx_error.log&lt;br/&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PHP日志：logs/php_error.log&lt;br/&gt;&amp;nbsp; &amp;nbsp; 临时关闭防火墙：排除端口拦截问题。&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 19 Apr 2026 18:03:47 +0800</pubDate></item><item><title>磊科N60 Pro 刷机教程</title><link>https://blog.cityexpo.net/?id=21</link><description>&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;在路由器里开启ssh。&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;1、&lt;/span&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;使用SSH工具（推荐MobaXter）连接路由器（192.168.0.1），用户名：useradmin 密码：管理密码，注意用户名不是root&lt;/span&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify MsoNormal&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:22px;margin-right:0&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;;font-size:15px;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot;&gt;2、&amp;nbsp;&lt;/span&gt; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;备份原厂系统文件&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:22px;margin-right:0&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre style=&quot;padding:10px;background-color:#fafafa;border:1px solid #e1e1e1;border-radius:2px;overflow-x: scroll&quot;&gt;#查看分区
cat&amp;nbsp;/proc/mtd&amp;nbsp;

#备份&amp;nbsp;BL2&amp;nbsp;引导分区（mtd1）
dd&amp;nbsp;if=/dev/mtd1&amp;nbsp;of=/tmp/mtd1_BL2.bin&amp;nbsp;

#备份&amp;nbsp;u-boot-env&amp;nbsp;环境变量（mtd2）
dd&amp;nbsp;if=/dev/mtd2&amp;nbsp;of=/tmp/mtd2_ubootenv.bin&amp;nbsp;

#备份&amp;nbsp;Factory&amp;nbsp;校准分区（mtd3，必选！）
dd&amp;nbsp;if=/dev/mtd3&amp;nbsp;of=/tmp/mtd3_Factory.bin&amp;nbsp;
dd&amp;nbsp;if=/dev/mtd4&amp;nbsp;of=/tmp/mtd4_fip.bin&amp;nbsp;

#备份&amp;nbsp;ubi&amp;nbsp;系统固件（mtd5）&amp;nbsp;这个时间会长一点，不要认为是死机了或者卡了
dd&amp;nbsp;if=/dev/mtd5&amp;nbsp;of=/tmp/mtd5_ubi.bin&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;备份完了之后，&lt;/span&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;进入/tmp目录，下载这四个文件进行备份&lt;/span&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify MsoNormal&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:22px;margin-right:0&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;;font-size:15px;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot;&gt;3、&amp;nbsp;&lt;/span&gt; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;接着是刷入uboot&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:22px;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;先把&lt;/span&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;mt7986-netcore_n60-pro-fip.bin 上传到 /tmp 目录中&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;然后运行命令&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre style=&quot;padding:10px;background-color:#fafafa;border:1px solid #e1e1e1;border-radius:2px;overflow-x: scroll&quot;&gt;mtd&amp;nbsp;write&amp;nbsp;/tmp/mt7986-netcore_n60-pro-fip.bin&amp;nbsp;FIP&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;刷入完成后断电，按住 reset 键通电，等待 10s 后松开，U-Boot 自带的 DHCP，不需要手动修改电脑 IP，直接访问 192.168.1.1，如果能看到以下界面就说明 U-Boot 成功刷入了。&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#595959;background:#FFFFFF;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;选择 &lt;/span&gt;&lt;span style=&quot;font-size:14px;font-family:Operator Mono;font-weight:normal;font-style:normal;color:#916DD5;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;Operator Mono&quot;&gt;immortalwrt-netcore_n60-pro-squashfs-sysupgrade.bin&lt;/span&gt;&lt;span style=&quot;font-size:16px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#595959;background:#FFFFFF;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt; 上传固件，点击 &lt;/span&gt;&lt;span style=&quot;font-size:14px;font-family:Operator Mono;font-weight:normal;font-style:normal;color:#916DD5;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;Operator Mono&quot;&gt;Update&lt;/span&gt;&lt;span style=&quot;font-size:16px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#595959;background:#FFFFFF;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt; 耐心等待刷入即可。&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-left&quot; style=&quot;text-align:left;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:16px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#595959;background:#FFFFFF;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;固件刷入完成后，访问 &lt;/span&gt;&lt;span style=&quot;font-size:14px;font-family:Operator Mono;font-weight:normal;font-style:normal;color:#916DD5;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;Operator Mono&quot;&gt;192.168.6.1&lt;/span&gt;&lt;span style=&quot;font-size:14px;font-family:Operator Mono;font-weight:normal;font-style:normal;color:#916DD5;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;Operator Mono&quot;&gt;（默认IP不同固件会有区别）&lt;/span&gt;&lt;span style=&quot;font-size:16px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#595959;background:#FFFFFF;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;，用户名 root，默认无密码，能成功进入后台就大功告成了。&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-left&quot; style=&quot;text-align:left;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:14px;font-family:Tahoma;font-weight:normal;font-style:normal;color:#444444;background:#FFFFFF;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;Tahoma&quot;&gt;搜索docker，安装luci-app-dockerman，会自动安装所需要的包和依赖&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-left&quot; style=&quot;text-align:left;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:14px;font-family:Tahoma;font-weight:normal;font-style:normal;color:#444444;background:#FFFFFF;letter-spacing:0;vertical-align:baseline&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify MsoNormal&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot;&gt;1.&amp;nbsp;&lt;/span&gt; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:bold;font-style:normal;color:#000000;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;创建 swap 文件或使用分区&lt;/span&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#000000;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;（假设你使用分区 /dev/sda2）：&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre style=&quot;padding:10px;background-color:#fafafa;border:1px solid #e1e1e1;border-radius:2px;overflow-x: scroll&quot;&gt;mkswap&amp;nbsp;/dev/sda2&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-left MsoNormal&quot; style=&quot;text-align:left;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot;&gt;2.&amp;nbsp;&lt;/span&gt; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:bold;font-style:normal;color:#000000;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;启用 swap 分区&lt;/span&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#000000;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;：&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre style=&quot;padding:10px;background-color:#fafafa;border:1px solid #e1e1e1;border-radius:2px;overflow-x: scroll&quot;&gt;swapon&amp;nbsp;/dev/sda2&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-left MsoNormal&quot; style=&quot;text-align:left;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#333333;letter-spacing:0;vertical-align:baseline&quot;&gt;3.&amp;nbsp;&lt;/span&gt; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:bold;font-style:normal;color:#000000;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;查看 swap 状态&lt;/span&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#000000;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;：&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre style=&quot;padding:10px;background-color:#fafafa;border:1px solid #e1e1e1;border-radius:2px;overflow-x: scroll&quot;&gt;swapon&amp;nbsp;-s
free&amp;nbsp;-h&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-left MsoNormal&quot; style=&quot;text-align:left;margin-top:4px;margin-bottom:4px;margin-left:22px;margin-right:0&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;;font-size:15px;font-weight:normal;font-style:normal;color:#000000;letter-spacing:0;vertical-align:baseline&quot;&gt;4、&amp;nbsp;&lt;/span&gt; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:bold;font-style:normal;color:#000000;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;开机自动挂载&lt;/span&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#000000;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;（编辑 /etc/fstab 添加一行）&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-justify&quot; style=&quot;text-align:justify;margin-top:4px;margin-bottom:4px;margin-left:0;margin-right:0&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre style=&quot;padding:10px;background-color:#fafafa;border:1px solid #e1e1e1;border-radius:2px;overflow-x: scroll&quot;&gt;/dev/sda2&amp;nbsp;&amp;nbsp;&amp;nbsp;none&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;swap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;0&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p class=&quot;paragraph text-align-type-left&quot; style=&quot;text-align:left;margin-top:4px;margin-bottom:4px;margin-left:22px;margin-right:0&quot;&gt;&lt;span style=&quot;font-size:15px;font-family:微软雅黑;font-weight:normal;font-style:normal;color:#000000;letter-spacing:0;vertical-align:baseline&quot; data-font-family=&quot;微软雅黑&quot;&gt;确保分区没有被挂载为文件系统，否则 mkswap 会清掉数据。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 20 Mar 2026 22:03:48 +0800</pubDate></item><item><title>卡巴斯基激活码激活免费版</title><link>https://blog.cityexpo.net/?id=20</link><description>&lt;p&gt;A23B5-44EXM-85MVF-KM2GQ&lt;/p&gt;</description><pubDate>Sun, 01 Feb 2026 21:15:48 +0800</pubDate></item><item><title>office2024 kvm</title><link>https://blog.cityexpo.net/?id=19</link><description>&lt;p&gt;&lt;span id=&quot;content&quot;&gt;key，XJ2XN-FW8RK-P4HMP-DKDBV-GCVGB&lt;/span&gt;&lt;/p&gt;&lt;p&gt;kms主机：kms.03k.org&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 09 Jan 2026 21:07:34 +0800</pubDate></item><item><title>phpstorm 激活服务器</title><link>https://blog.cityexpo.net/?id=18</link><description>&lt;p&gt;亲测有效，此处以phpstrom为例，按理其他产品也可以用相同的方式激活。&lt;/p&gt;&lt;p&gt;原理是我们通过代码搜索其他授权服务器进行永久激活。&lt;/p&gt;&lt;p&gt;方式一 通过censys&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://search.censys.io/&quot; target=&quot;_blank&quot; title=&quot;https://search.censys.io/&quot; textvalue=&quot;search.censys.io/&quot;&gt;search.censys.io/&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;p&gt;用到的代码：&lt;/p&gt;&lt;p&gt;services.http.response.headers.location: account.jetbrains.com/fls-auth&lt;/p&gt;&lt;p&gt;我们将上面这串代码services.http.response.headers.location: account.jetbrains.com/fls-auth复制进censys搜索框中进行搜索，会出现：&lt;/p&gt;&lt;/div&gt;&lt;br/&gt;&lt;div&gt;可以看到出现了很多对应跳转到 jetbrains 的服务器IP和网址,我们随便点击一个看下状态是不是 302 只有 302 的才能正常使用 。&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;h5&gt;&lt;span id=&quot;host-uri-id&quot; class=&quot;_typographyDefault_mk4em_3&quot;&gt;http://147.102.124.19:64001/&lt;/span&gt;&lt;/h5&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 24 Dec 2025 16:09:07 +0800</pubDate></item><item><title>阿里云ESA</title><link>https://blog.cityexpo.net/?id=17</link><description>&lt;p&gt;&lt;span data-tag=&quot;ph&quot; id=&quot;d65f08b456pfk&quot; data-init-id=&quot;9c1aaa18a5nf8&quot; class=&quot;ph&quot; data-spm-anchor-id=&quot;a2c4g.11186623.0.i6.3ebf1965cYjPIk&quot;&gt;实测阿里云ESA在亚太区提速明显，尤其国内访问比 Cloudflare顺畅不少。安全层面 WAF规则更贴合本土攻击特征，客服响应快，配置对中文用户友好。缺点是海外节点覆盖仍不及CF，但专注亚太业务的话，ESA确实更接地气。&lt;span class=&quot;help-letter-space&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span data-tag=&quot;ph&quot; id=&quot;d65f08b456pfk&quot; data-init-id=&quot;9c1aaa18a5nf8&quot; class=&quot;ph&quot; data-spm-anchor-id=&quot;a2c4g.11186623.0.i6.3ebf1965cYjPIk&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span data-tag=&quot;ph&quot; id=&quot;d65f08b456pfk&quot; data-init-id=&quot;9c1aaa18a5nf8&quot; class=&quot;ph&quot; data-spm-anchor-id=&quot;a2c4g.11186623.0.i6.3ebf1965cYjPIk&quot;&gt;ESA&lt;span class=&quot;help-letter-space&quot;&gt;&lt;/span&gt;免费领取链接：&lt;a class=&quot;&quot; href=&quot;http://s.tb.cn/e6.0Fu67m&quot; id=&quot;8f75b94d6da8v&quot; title=&quot;&quot; data-spm-protocol=&quot;i&quot;&gt;http://s.tb.cn/e6.0Fu67m&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span data-tag=&quot;ph&quot; id=&quot;d65f08b456pfk&quot; data-init-id=&quot;9c1aaa18a5nf8&quot; class=&quot;ph&quot; data-spm-anchor-id=&quot;a2c4g.11186623.0.i6.3ebf1965cYjPIk&quot;&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span data-tag=&quot;ph&quot; id=&quot;d65f08b456pfk&quot; data-init-id=&quot;9c1aaa18a5nf8&quot; class=&quot;ph&quot; data-spm-anchor-id=&quot;a2c4g.11186623.0.i6.3ebf1965cYjPIk&quot;&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://blog.cityexpo.net/zb_users/upload/2025/12/202512121765505749393557.png&quot; title=&quot;微信图片_2025-12-12_101527_970.png&quot; alt=&quot;微信图片_2025-12-12_101527_970.png&quot;/&gt;&lt;/span&gt;&lt;/p&gt;</description><pubDate>Fri, 12 Dec 2025 10:11:57 +0800</pubDate></item><item><title>openwrt 24.10 里面的好多坑</title><link>https://blog.cityexpo.net/?id=16</link><description>&lt;ol style=&quot;list-style-type: decimal;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;旁路由模式需要修改dns，位置：网络-接口-编辑网卡-常规添加网关，高级使用dns服务器，dhcp服务器忽略此接口&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;增加中文：系统-软件安装luci-i18n-base-zh-cn&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;opkg &lt;span class=&quot; rd_code_blu&quot;&gt;install&lt;/span&gt; kmod-nft-tproxy&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;pre class=&quot;prism-token token line-numbers language-javascript&quot; tabindex=&quot;0&quot;&gt;mirrors.aliyun.com/openwrt&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre class=&quot;prism-token token line-numbers language-javascript&quot; tabindex=&quot;0&quot;&gt;mirrors.tuna.tsinghua.edu.cn&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre class=&quot;prism-token token line-numbers language-javascript&quot; tabindex=&quot;0&quot;&gt;opkg&amp;nbsp;install&amp;nbsp;bash&amp;nbsp;iptables&amp;nbsp;dnsmasq-full&amp;nbsp;curl&amp;nbsp;ca-bundle&amp;nbsp;ipset&amp;nbsp;ip-full&amp;nbsp;iptables-mod-tproxy&amp;nbsp;iptables-mod-extra&amp;nbsp;ruby&amp;nbsp;ruby-yaml&amp;nbsp;kmod-tun&amp;nbsp;kmod-inet-diag&amp;nbsp;unzip&amp;nbsp;luci-compat&amp;nbsp;luci&amp;nbsp;luci-base&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;扩容：ssh登录&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;pre class=&quot; language-shell line-numbers&quot;&gt;opkg&amp;nbsp;update
opkg&amp;nbsp;install&amp;nbsp;cfdisk&amp;nbsp;fdisk&amp;nbsp;e2fsprogs&lt;/pre&gt;&lt;h4 id=&quot;toc_3&quot;&gt;2.1 创建新分区&lt;/h4&gt;&lt;p&gt;SSH 终端运行 &lt;code&gt;cfdisk&lt;/code&gt; 命令进入磁盘分区界面，通过键盘上下键切换到 &lt;strong&gt;Free space&lt;/strong&gt; （剩余空间），左右键切换至 &lt;strong&gt;NEW&lt;/strong&gt; （新增分区），然后按下回车键。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://www.openwrt.pro/ueditor/php/upload/image/20210912/1631437681955930.png&quot; title=&quot;1631437681955930.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;分区类型设置为 &lt;strong&gt;Primary&lt;/strong&gt; （主分区），按下回车键。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://www.openwrt.pro/ueditor/php/upload/image/20210912/1631437696419150.png&quot; title=&quot;1631437696419150.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;左右键切换 &lt;strong&gt;Write&lt;/strong&gt; 按下回车键，写入新分区。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://www.openwrt.pro/ueditor/php/upload/image/20210912/1631437712837774.png&quot; title=&quot;1631437712837774.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;输入 &lt;strong&gt;yes&lt;/strong&gt; 按下回车键，确认写入新分区。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://www.openwrt.pro/ueditor/php/upload/image/20210912/1631437727446259.png&quot; title=&quot;1631437727446259.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;切换 &lt;strong&gt;Quit&lt;/strong&gt; ，按下回车键退出。运行 &lt;code&gt;fdisk -l&lt;/code&gt; 命令，查看是否成功创建新分区。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://www.openwrt.pro/ueditor/php/upload/image/20210912/1631437740883045.png&quot; title=&quot;1631437740883045.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h4 id=&quot;toc_4&quot;&gt;2.2 格式化新分区&lt;/h4&gt;&lt;p&gt;SSH 终端运行下面的命令，将新分区的文件系统格式化为 &lt;code&gt;ext4&lt;/code&gt;：&lt;/p&gt;&lt;pre class=&quot; language-none line-numbers&quot;&gt;mkfs.ext4&amp;nbsp;/dev/sda3&lt;/pre&gt;&lt;h4 id=&quot;toc_5&quot;&gt;2.3 挂载新分区&lt;/h4&gt;&lt;p&gt;进入 Open­Wrt 管理后台，依次点击 &lt;strong&gt;系统&lt;/strong&gt; - &lt;strong&gt;挂载点&lt;/strong&gt; 找到并点击全局设置中的 &lt;strong&gt;生成配置&lt;/strong&gt; 。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://www.openwrt.pro/ueditor/php/upload/image/20210912/1631437957319441.png&quot; title=&quot;1631437957319441.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;在 &lt;strong&gt;挂载点&lt;/strong&gt; 找到创建的新分区，点击 &lt;strong&gt;修改&lt;/strong&gt; 重新调整挂载项目的设置。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://www.openwrt.pro/ueditor/php/upload/image/20210912/1631437941980628.png&quot; title=&quot;1631437941980628.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;勾选 &lt;strong&gt;启用此挂载点&lt;/strong&gt;，&lt;strong&gt;挂载点&lt;/strong&gt; 选择为 &lt;strong&gt;作为根文件系统使用&lt;/strong&gt; ，完整复制根目录准备中的所有命令行后，点击 &lt;strong&gt;保存并应用&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://www.openwrt.pro/ueditor/php/upload/image/20210912/1631437979595660.png&quot; title=&quot;1631437979595660.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;blockquote&gt;⚠️ &lt;strong&gt;上面复制得到的命令行不要直接运行！！！不要直接运行！！！否则报错。&lt;/strong&gt;&lt;/blockquote&gt;&lt;p&gt;需要手动修改命令行中 &lt;code&gt;mount /dev/sda1 /tmp/extroot&lt;/code&gt; 为 &lt;code&gt;cfdisk&lt;/code&gt; 创建的新分区盘符，例如这里应修改为 &lt;code&gt;mount /dev/sda3 /tmp/extroot&lt;/code&gt;，然后进入 SSH 终端，运行修改后的完整命令行，如下：&lt;/p&gt;&lt;pre class=&quot; language-shell line-numbers&quot;&gt;mkdir&amp;nbsp;-p&amp;nbsp;/tmp/introot
mkdir&amp;nbsp;-p&amp;nbsp;/tmp/extroot
mount&amp;nbsp;--bind&amp;nbsp;/&amp;nbsp;/tmp/introot
mount&amp;nbsp;/dev/sdb1&amp;nbsp;/tmp/extroot&amp;nbsp;#&amp;nbsp;修改后
tar&amp;nbsp;-C&amp;nbsp;/tmp/introot&amp;nbsp;-cvf&amp;nbsp;-&amp;nbsp;.&amp;nbsp;|&amp;nbsp;tar&amp;nbsp;-C&amp;nbsp;/tmp/extroot&amp;nbsp;-xf&amp;nbsp;-
umount&amp;nbsp;/tmp/introot
umount&amp;nbsp;/tmp/extroot&lt;/pre&gt;&lt;p&gt;回车键到底，直到跑完所有命令行。然后运行 &lt;code&gt;reboot&lt;/code&gt; 重启 Open­Wrt ～&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://www.openwrt.pro/ueditor/php/upload/image/20210912/1631437996335614.png&quot; title=&quot;1631437996335614.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;重新进入 SSH 终端运行 &lt;code&gt;df -h&lt;/code&gt; ，如上图表示扩容成功～&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://www.openwrt.pro/ueditor/php/upload/image/20210912/1631438012235487.png&quot; title=&quot;1631438012235487.png&quot;/&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;ol style=&quot;list-style-type: decimal;&quot; class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;挂载点：opkg install block-mount&amp;nbsp;&amp;nbsp;重启路由即可出现 挂载点&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;</description><pubDate>Mon, 08 Dec 2025 03:06:44 +0800</pubDate></item><item><title>3XUI面板创建独属于自己的原生IP节点</title><link>https://blog.cityexpo.net/?id=15</link><description>&lt;p&gt;所需要用到的代码：&lt;/p&gt;&lt;p&gt;1、安装必要组件（Debian / Ubuntu 系统）&lt;/p&gt;&lt;div class=&quot;prewrapper&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-basic&quot;&gt;apt-get&amp;nbsp;install&amp;nbsp;sudo&lt;/pre&gt;&lt;/div&gt;&lt;div class=&quot;prewrapper&quot;&gt;&lt;pre class=&quot;wp-block-code prettyprint&quot;&gt;sudo&amp;nbsp;apt&amp;nbsp;install&amp;nbsp;curl&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;2、&lt;strong&gt;下方为安装3XUI面板的代码。3XUI面板开源项目地址：&lt;a href=&quot;https://github.com/MHSanaei/3x-ui&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Github&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class=&quot;prewrapper&quot;&gt;&lt;pre class=&quot;prism-highlight prism-language-basic&quot;&gt;bash&amp;nbsp;&amp;lt;(curl&amp;nbsp;-Ls&amp;nbsp;https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;执行以上脚本后，一路按Y确认，记住面板登录端口。其他家VPS需要放行此登录端口，本文使用的VPS则不需要。第一个Y，是确认安装的意思；第二个Y是确认端口的意思，按Y是&lt;/p&gt;&lt;p&gt;3、复制登录地址到浏览器打开，粘贴3XUI面板用户名和密码登录，按以下修改内容创建节点，如果弄好后无法上网，一个一个看是不是漏了。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;figure class=&quot;wp-block-table&quot;&gt;&lt;table class=&quot;has-fixed-layout&quot;&gt;&lt;tbody&gt;&lt;tr class=&quot;firstRow&quot;&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;项目&lt;/td&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;设置值&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;协议&lt;/td&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;vless&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;传输&lt;/td&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;TCP&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;安全方式&lt;/td&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;reality&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;点击“客户”——在 “Flow”处&lt;/td&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;xtls-rprx-vision&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;uTLS&lt;/td&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;Chrome&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;target&lt;/td&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;icloud.com:443&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;SNI&lt;/td&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;icloud.com&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;Get New Cert&lt;/td&gt;&lt;td class=&quot;has-text-align-center&quot; data-align=&quot;center&quot;&gt;点击自动生成证书&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;div class=&quot;wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex&quot;&gt;&lt;p&gt;可选：&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Sun, 19 Oct 2025 17:28:05 +0800</pubDate></item><item><title>群晖添加Cloudflare的DDNS服务</title><link>https://blog.cityexpo.net/?id=14</link><description>&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;content-text&quot;&gt;简单一点来说这个问题，群晖DSM自带的DDNS服务没有Cloudflare。但是好在一个韩国小哥哥namuk在Synology的社区说他做了这个功能，&lt;/span&gt; &lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;http://tech.mornlong.com/zb_users/upload/2021/02/202102141613299776411434.png&quot; alt=&quot;Screen Shot 2021-02-14 at 6.49.32 PM.png&quot;/&gt; &lt;/p&gt;&lt;p&gt;&lt;span class=&quot;content-text&quot;&gt;使用方法很简单：&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span class=&quot;content-text&quot;&gt;1、通过SSH登陆群晖，输入以下代码：&lt;/span&gt; &lt;/p&gt;&lt;div class=&quot;prism-show-language&quot;&gt;&lt;span class=&quot;os-copy-copy-code-btn&quot; data-code-key=&quot;0&quot; style=&quot;right: 0px;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;prism-highlight prism- prism-line-numbers language-bash&quot; data-language=&quot;Bash&quot; data-code-index=&quot;0&quot;&gt;sudo&amp;nbsp;curl&amp;nbsp;https://raw.githubusercontent.com/namukcom/SynologyCloudflareDDNS/master/cloudflare.php&amp;nbsp;-o&amp;nbsp;/usr/syno/bin/ddns/cloudflare.php&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;sudo&amp;nbsp;chmod&amp;nbsp;755&amp;nbsp;/usr/syno/bin/ddns/cloudflare.php&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;content-text&quot;&gt;2、在ddns设置文件的末尾加上Cloudflare的调用地址。用以下命令实现：&lt;/p&gt;&lt;div class=&quot;prism-show-language&quot;&gt;&lt;span class=&quot;os-copy-copy-code-btn&quot; data-code-key=&quot;1&quot; style=&quot;right: 0px;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;prism-highlight prism- prism-line-numbers language-bash&quot; data-language=&quot;Bash&quot; data-code-index=&quot;1&quot;&gt;sudo&amp;nbsp;vi&amp;nbsp;/etc.defaults/ddns_provider.conf&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;content-text&quot;&gt;在末尾要添加的内容为：&lt;/span&gt; &lt;/p&gt;&lt;div class=&quot;prism-show-language&quot;&gt;&lt;span class=&quot;os-copy-copy-code-btn&quot; data-code-key=&quot;2&quot; style=&quot;right: 0px;&quot;&gt;复制&lt;/span&gt;&lt;/div&gt;&lt;pre class=&quot;prism-highlight prism- prism-line-numbers language-bash&quot; data-language=&quot;Bash&quot; data-code-index=&quot;2&quot;&gt;[Cloudflare]&amp;nbsp;&amp;nbsp;modulepath=/usr/syno/bin/ddns/cloudflare.php&amp;nbsp;&amp;nbsp;queryurl=https://www.cloudflare.com/&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;content-text&quot;&gt;添加进去之后按ESC退出vi的编辑状态，再按两次ZZ退出。&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span class=&quot;content-text&quot;&gt;3、在DSM就可以设置Cloudflare的DDNS了，M学院实测成功。&lt;/span&gt; &lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img class=&quot;ue-image&quot; src=&quot;http://tech.mornlong.com/zb_users/upload/2021/02/202102141613300419160412.png&quot; title=&quot;Screen Shot 2021-02-14 at 6.57.55 PM.png&quot; alt=&quot;Screen Shot 2021-02-14 at 6.57.55 PM.png&quot;/&gt; &lt;/p&gt;&lt;p&gt;国内很多用户无法下载文件，特意把文件代码放下面，自己输入就行 vi /usr/syno/bin/ddns/cloudflare.php&amp;nbsp;&amp;nbsp; &lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-php&quot;&gt;#!/usr/bin/php&amp;nbsp;-d&amp;nbsp;open_basedir=/usr/syno/bin/ddns
&amp;lt;?php

if&amp;nbsp;($argc&amp;nbsp;!==&amp;nbsp;5)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;#39;badparam&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit();
}

$account&amp;nbsp;=&amp;nbsp;(string)$argv[1];
$pwd&amp;nbsp;=&amp;nbsp;(string)$argv[2];
$hostname&amp;nbsp;=&amp;nbsp;(string)$argv[3];
$fullname&amp;nbsp;=&amp;nbsp;(string)$argv[3];
$ip&amp;nbsp;=&amp;nbsp;(string)$argv[4];

//&amp;nbsp;check&amp;nbsp;the&amp;nbsp;hostname&amp;nbsp;contains&amp;nbsp;&amp;#39;.&amp;#39;
if&amp;nbsp;(strpos($hostname,&amp;nbsp;&amp;#39;.&amp;#39;)&amp;nbsp;===&amp;nbsp;false)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;badparam&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit();
}
if(strlen($pwd)&amp;nbsp;==&amp;nbsp;37)&amp;nbsp;/*&amp;nbsp;Global&amp;nbsp;key&amp;nbsp;37byte*/
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$header&amp;nbsp;=&amp;nbsp;array(&amp;quot;X-Auth-Email:&amp;nbsp;${account}&amp;quot;,&amp;nbsp;&amp;quot;X-Auth-Key:&amp;nbsp;${pwd}&amp;quot;,&amp;nbsp;&amp;quot;Content-Type:&amp;nbsp;application/json&amp;quot;);
}
else&amp;nbsp;/*&amp;nbsp;API&amp;nbsp;Token&amp;nbsp;40byte*/
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$header&amp;nbsp;=&amp;nbsp;array(&amp;quot;Authorization:&amp;nbsp;Bearer&amp;nbsp;${pwd}&amp;quot;,&amp;nbsp;&amp;quot;Content-Type:&amp;nbsp;application/json&amp;quot;);
}

//&amp;nbsp;only&amp;nbsp;for&amp;nbsp;IPv4&amp;nbsp;format
if&amp;nbsp;(!filter_var($ip,&amp;nbsp;FILTER_VALIDATE_IP,&amp;nbsp;FILTER_FLAG_IPV4))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;quot;badparam&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit();
}

/*
1.&amp;nbsp;Check&amp;nbsp;Validity&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;Query&amp;nbsp;Zone&amp;nbsp;ID
*/
$options&amp;nbsp;=&amp;nbsp;array(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_URL&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;quot;https://api.cloudflare.com/client/v4/zones&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_HTTPGET&amp;nbsp;=&amp;gt;&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_HEADER&amp;nbsp;=&amp;gt;&amp;nbsp;false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_VERBOSE&amp;nbsp;=&amp;gt;&amp;nbsp;false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_RETURNTRANSFER&amp;nbsp;=&amp;gt;&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_HTTPHEADER&amp;nbsp;=&amp;gt;&amp;nbsp;$header
);

if&amp;nbsp;(empty($data&amp;nbsp;=&amp;nbsp;exec_curl($options)))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;#39;badauth&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit();
}

$zone_id&amp;nbsp;=&amp;nbsp;-1;
$result&amp;nbsp;=&amp;nbsp;array_filter(array_get($data,&amp;nbsp;&amp;#39;result&amp;#39;,&amp;nbsp;[]),&amp;nbsp;function($row)&amp;nbsp;use&amp;nbsp;($hostname)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;preg_match(&amp;#39;/\.&amp;#39;.$row[&amp;#39;name&amp;#39;].&amp;#39;$/i&amp;#39;,&amp;nbsp;$hostname)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;||&amp;nbsp;strtolower($row[&amp;#39;name&amp;#39;])&amp;nbsp;===&amp;nbsp;strtolower($hostname);
});

if&amp;nbsp;(empty($zone_info&amp;nbsp;=&amp;nbsp;array_pop($result)))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;#39;nohost&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit();
}
$zone_id&amp;nbsp;=&amp;nbsp;$zone_info[&amp;#39;id&amp;#39;];

/*
2.&amp;nbsp;Query&amp;nbsp;Record&amp;nbsp;ID
*/
$options&amp;nbsp;=&amp;nbsp;array(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_URL&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;quot;https://api.cloudflare.com/client/v4/zones/${zone_id}/dns_records?type=A&amp;amp;name=${fullname}&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_HTTPGET&amp;nbsp;=&amp;gt;&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_HEADER&amp;nbsp;=&amp;gt;&amp;nbsp;false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_VERBOSE&amp;nbsp;=&amp;gt;&amp;nbsp;false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_RETURNTRANSFER&amp;nbsp;=&amp;gt;&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_HTTPHEADER&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;nbsp;$header
);

if&amp;nbsp;(empty($data&amp;nbsp;=&amp;nbsp;exec_curl($options)))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;#39;badauth&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit();
}

$result&amp;nbsp;=&amp;nbsp;array_filter(array_get($data,&amp;nbsp;&amp;#39;result&amp;#39;,&amp;nbsp;[]),&amp;nbsp;function($row)&amp;nbsp;use&amp;nbsp;($hostname)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$row[&amp;#39;name&amp;#39;]&amp;nbsp;===&amp;nbsp;$hostname;
});

if(empty($record_info&amp;nbsp;=&amp;nbsp;array_pop($result)))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;#39;nohost&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit();
}

$record_id&amp;nbsp;=&amp;nbsp;$record_info[&amp;#39;id&amp;#39;];
$ttl&amp;nbsp;=&amp;nbsp;$record_info[&amp;#39;ttl&amp;#39;];
$proxied&amp;nbsp;=&amp;nbsp;$record_info[&amp;#39;proxied&amp;#39;];

/*
3.&amp;nbsp;Update&amp;nbsp;DNS
*/
$options&amp;nbsp;=&amp;nbsp;array(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_URL&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;quot;https://api.cloudflare.com/client/v4/zones/${zone_id}/dns_records/${record_id}&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_POST&amp;nbsp;=&amp;gt;&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_CUSTOMREQUEST&amp;nbsp;=&amp;gt;&amp;nbsp;&amp;quot;PUT&amp;quot;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_HEADER&amp;nbsp;=&amp;gt;&amp;nbsp;false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_VERBOSE&amp;nbsp;=&amp;gt;&amp;nbsp;false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_RETURNTRANSFER&amp;nbsp;=&amp;gt;&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_HTTPHEADER&amp;nbsp;=&amp;gt;&amp;nbsp;$header,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CURLOPT_POSTFIELDS&amp;nbsp;=&amp;gt;&amp;nbsp;json_encode(array(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;type&amp;#39;=&amp;gt;&amp;#39;A&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;name&amp;#39;=&amp;gt;$fullname,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;content&amp;#39;=&amp;gt;$ip,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;ttl&amp;#39;=&amp;gt;$ttl,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;proxied&amp;#39;=&amp;gt;$proxied
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;))
);

if&amp;nbsp;(empty($data&amp;nbsp;=&amp;nbsp;exec_curl($options)))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo&amp;nbsp;&amp;#39;Update&amp;nbsp;Record&amp;nbsp;failed&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exit();
}

echo&amp;nbsp;&amp;#39;good&amp;#39;;



/*
&amp;nbsp;*&amp;nbsp;Helpers
&amp;nbsp;*/

/**
&amp;nbsp;*&amp;nbsp;Get&amp;nbsp;array&amp;nbsp;member&amp;nbsp;by&amp;nbsp;key
&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;$array
&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;$key
&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;$default
&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;mixed|null
&amp;nbsp;*/
function&amp;nbsp;array_get(&amp;amp;$array,&amp;nbsp;$key,&amp;nbsp;$default&amp;nbsp;=&amp;nbsp;null)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;isset($array[$key])&amp;nbsp;?&amp;nbsp;$array[$key]&amp;nbsp;:&amp;nbsp;$default;
}

/**
&amp;nbsp;*&amp;nbsp;execute&amp;nbsp;curl&amp;nbsp;and&amp;nbsp;parse&amp;nbsp;return&amp;nbsp;data
&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;$options
&amp;nbsp;*&amp;nbsp;@return&amp;nbsp;mixed|null
&amp;nbsp;*/
function&amp;nbsp;exec_curl($options)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$req&amp;nbsp;=&amp;nbsp;curl_init();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_setopt_array($req,&amp;nbsp;$options);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$res&amp;nbsp;=&amp;nbsp;curl_exec($req);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curl_close($req);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$result&amp;nbsp;=&amp;nbsp;json_decode($res,&amp;nbsp;true);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;echo&amp;nbsp;&amp;quot;\n\n&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;echo&amp;nbsp;var_export($result,&amp;nbsp;true);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;echo&amp;nbsp;&amp;quot;\n\n&amp;quot;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(array_get($result,&amp;nbsp;&amp;#39;success&amp;#39;,&amp;nbsp;false))&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$result;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;null;
}&lt;/pre&gt;&lt;br/&gt;</description><pubDate>Sat, 15 Feb 2025 19:24:36 +0800</pubDate></item><item><title>猫国建设者-所有资源对应的英文名称（缩短游戏流程使用）</title><link>https://blog.cityexpo.net/?id=13</link><description>&lt;div class=&quot;content-with-support full&quot;&gt;&lt;p&gt;☆☆☆警告：会严重影响游戏体验。☆☆☆&lt;/p&gt;&lt;p&gt;&amp;nbsp;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆&lt;/p&gt;&lt;p&gt;&amp;nbsp;下边是&lt;span text-decoration:=&quot;&quot;&gt;所有&lt;/span&gt;需要获取“&lt;strong&gt;全部的&lt;/strong&gt;”资源的英文名称&lt;br/&gt;&lt;/p&gt;&lt;p&gt;（&amp;nbsp;&lt;strong&gt;黑体&amp;nbsp;&lt;/strong&gt;部分为新补充的，你们懂的，啥1.4啥的。。。）&lt;/p&gt;&lt;p&gt;☆好了，各位作死去吧☆&lt;/p&gt;&lt;p&gt;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆&lt;/p&gt;&lt;p&gt;用下边的语句在控制台内输入即可，&lt;br/&gt;&lt;/p&gt;&lt;p&gt;gamePage.resPool.get(&amp;quot;下边物品的英文名称&amp;quot;).value&amp;nbsp;+=9999999&lt;/p&gt;&lt;p&gt;&amp;nbsp;建议只调整第四部分数据，以及如类似空角兽这样极其难以获取的资源数据&lt;/p&gt;&lt;p&gt;&amp;nbsp;~~~~~~~分~~~~~~割~~~~~~~~~线~~~~~~~~&lt;br/&gt;&lt;/p&gt;&lt;p&gt;猫薄荷catnip&lt;/p&gt;&lt;p&gt;木材wood&lt;/p&gt;&lt;p&gt;矿物minerals&lt;/p&gt;&lt;p&gt;煤炭coal&lt;/p&gt;&lt;p&gt;铁锭iron&lt;/p&gt;&lt;p&gt;钛锭titanium&lt;/p&gt;&lt;p&gt;黄金gold&lt;/p&gt;&lt;p&gt;石油oil&lt;/p&gt;&lt;p&gt;铀uranium&lt;/p&gt;&lt;p&gt;难得素unobtainium&lt;/p&gt;&lt;p&gt;~~~~~~~分~~~~~~割~~~~~~~~~线~~~~~~~~&lt;/p&gt;&lt;p&gt;喵力manpower&lt;/p&gt;&lt;p&gt;科研点science&lt;/p&gt;&lt;p&gt;文化点culture&lt;/p&gt;&lt;p&gt;信仰faith&lt;/p&gt;&lt;p&gt;喵星人kittens&lt;/p&gt;&lt;p&gt;斑马zebras&lt;/p&gt;&lt;p&gt;星图starchart&lt;/p&gt;&lt;p&gt;火箭rocket&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;时间通量 &lt;/em&gt;&lt;/strong&gt;&lt;em&gt;temporalFlux&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;浮点运算能力&lt;/em&gt;&lt;/strong&gt;&lt;em&gt; gflops&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;哈希&lt;/em&gt;&lt;/strong&gt;&lt;em&gt; hashrates&lt;/em&gt;&lt;/p&gt;&lt;p&gt;~~~~~~~分~~~~~~割~~~~~~~~~线~~~~~~~~&lt;/p&gt;&lt;p&gt;皮革f*s&lt;/p&gt;&lt;p&gt;象牙ivory&lt;/p&gt;&lt;p&gt;香料spice&lt;/p&gt;&lt;p&gt;独角兽unicorns&lt;/p&gt;&lt;p&gt;空角兽alicorn&lt;/p&gt;&lt;p&gt;眼泪tears&lt;/p&gt;&lt;p&gt;业力（&lt;strong&gt;貌似无法调整&lt;/strong&gt;）karma&amp;nbsp;&lt;/p&gt;&lt;p&gt;领导力paragon&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;燃烧领导力 &lt;/em&gt;&lt;/strong&gt;&lt;em&gt;b*nedParagon&lt;/em&gt;&lt;/p&gt;&lt;p&gt;时光水晶timeCrystal&lt;/p&gt;&lt;p&gt;悲伤sorrow&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;礼盒&lt;/em&gt;&lt;/strong&gt;&lt;em&gt; elderBox&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;包装纸 &lt;/em&gt;&lt;/strong&gt;&lt;em&gt;wrappingPaper&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;黑币 &lt;/em&gt;&lt;/strong&gt;&lt;em&gt;blackcoin&lt;/em&gt;&lt;/p&gt;&lt;p&gt;~~~~~~~分~~~~~~割~~~~~~~~~线~~~~~~~~&lt;/p&gt;&lt;p&gt;横梁beam&lt;/p&gt;&lt;p&gt;石板slab &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;混凝土concrate&lt;/p&gt;&lt;p&gt;金属板plate&lt;/p&gt;&lt;p&gt;钢铁steel&lt;/p&gt;&lt;p&gt;合金alloy&lt;br/&gt;&lt;/p&gt;&lt;p&gt;齿轮gear&lt;/p&gt;&lt;p&gt;脚手架scaffold&lt;/p&gt;&lt;p&gt;船ship&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;油轮 &lt;/em&gt;&lt;/strong&gt;&lt;em&gt;tanker&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;煤油&lt;/em&gt;&lt;/strong&gt;&lt;em&gt; kerosene&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;手稿 &lt;/em&gt;&lt;/strong&gt;&lt;em&gt;manuspan&lt;/em&gt;&lt;/p&gt;&lt;p&gt;羊皮纸parchment&lt;br/&gt;&lt;/p&gt;&lt;p&gt;摘要compedium&lt;br/&gt;&lt;/p&gt;&lt;p&gt;蓝图blueprint&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;钍&amp;nbsp;&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;thorium&lt;/em&gt;&lt;/p&gt;&lt;p&gt;巨石megalith&lt;/p&gt;&lt;p&gt;~~~~~~~分~~~~~~割~~~~~~~~~线~~~~~~~~&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;死灵兽&lt;/strong&gt; necrocorn&lt;/p&gt;&lt;p&gt;&lt;strong&gt;E合金&lt;/strong&gt; eludium&lt;/p&gt;&lt;p&gt;&lt;strong&gt;虚空&lt;/strong&gt; void&lt;/p&gt;&lt;p&gt;&lt;strong&gt;圣遗物&lt;/strong&gt; relic&lt;/p&gt;&lt;p&gt;&lt;strong&gt;反物质&lt;/strong&gt; antimatter&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 02 Apr 2019 14:35:20 +0800</pubDate></item></channel></rss><!--23.69 ms , 6 query , -938kb memory , 0 error-->