<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>195幻想曲</title><link>https://11000011.com/</link><description>专门填坑的里奥</description><item><title>Android系统非法文件名无法删除解决办法</title><link>https://11000011.com/?id=719</link><description>&lt;blockquote&gt;
&lt;p&gt;android系统/sdcard/目录下有个文件名有特殊字符，无法删除怎么办&lt;br&gt;-rw-rw—-  1 root sdcard_rw      11111 2022-11-13 21:56 window_dump.xml&lt;br&gt;-rw-rw—-  1 root sdcard_rw     512332 2022-04-06 10:29 股票基金词\345&lt;br&gt;就是这个股票基金的文件，文件管理器无法删除，终端无法复制粘贴中文&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;你这个情况是典型的 &lt;strong&gt;文件名包含非法/非 UTF-8 编码字节&lt;/strong&gt; 导致的“幽灵文件”问题，尤其 &lt;code&gt;\345&lt;/code&gt;（0xE5）是个不完整的 UTF-8 字节，普通 &lt;code&gt;rm&lt;/code&gt; 会因为路径解析失败而删不掉。&lt;/p&gt;
&lt;p&gt;下面给你几种可靠的解决方法：&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2--strong-1-inode-strong-&quot;&gt;&lt;a name=&quot;&lt;strong&gt;1️⃣ 用 inode 号删除（推荐，无需复制中文名）&lt;/strong&gt;&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;&lt;strong&gt;1️⃣ 用 inode 号删除（推荐，无需复制中文名）&lt;/strong&gt;&lt;/h2&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;adb shell
cd /sdcard
ls -i&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;输出示例：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;123456 股票基金词\345&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这里的 &lt;code&gt;123456&lt;/code&gt; 就是 inode 号。&lt;/p&gt;
&lt;p&gt;然后：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;find . -inum 123456 -exec rm -i {} \;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;或者直接：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;find . -inum 123456 -delete&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;? &lt;strong&gt;原理&lt;/strong&gt;：不走文件名解析，而是直接按 inode 删除。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2--strong-2-strong-&quot;&gt;&lt;a name=&quot;&lt;strong&gt;2️⃣ 用通配符匹配非打印字符&lt;/strong&gt;&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;&lt;strong&gt;2️⃣ 用通配符匹配非打印字符&lt;/strong&gt;&lt;/h2&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;adb shell
cd /sdcard
rm -i 股票基金词*&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果目录下文件不多，直接用 &lt;code&gt;*&lt;/code&gt; 抓到它。&lt;br&gt;⚠ 注意确认只匹配到目标文件。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2--strong-3-code-ls-b-code-ansi-c-strong-&quot;&gt;&lt;a name=&quot;&lt;strong&gt;3️⃣ 用 &lt;code&gt;ls -b&lt;/code&gt; + ANSI-C 引用删除&lt;/strong&gt;&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;&lt;strong&gt;3️⃣ 用 &lt;code&gt;ls -b&lt;/code&gt; + ANSI-C 引用删除&lt;/strong&gt;&lt;/h2&gt;&lt;p&gt;查看转义序列：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;ls -b&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可能会显示：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;股票基金词\345&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;删除时用：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;rm &amp;quot;股票基金词$(echo -e &amp;#39;\345&amp;#39;)&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样可以精准构造原始字节。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2--strong-4-inode-busybox-strong-&quot;&gt;&lt;a name=&quot;&lt;strong&gt;4️⃣ 用 inode + busybox（如果系统支持）&lt;/strong&gt;&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;&lt;strong&gt;4️⃣ 用 inode + busybox（如果系统支持）&lt;/strong&gt;&lt;/h2&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;adb shell
busybox find . -inum 123456 -delete&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;busybox&lt;/code&gt; 在有些设备里自带，比原生 &lt;code&gt;find&lt;/code&gt; 容错更好。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;h2--strong-5-code-sdcard-code-fuse-shell-strong-&quot;&gt;&lt;a name=&quot;&lt;strong&gt;5️⃣ 如果 &lt;code&gt;/sdcard&lt;/code&gt; 是 FUSE 映射，且普通 shell 无法删&lt;/strong&gt;&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;&lt;strong&gt;5️⃣ 如果 &lt;code&gt;/sdcard&lt;/code&gt; 是 FUSE 映射，且普通 shell 无法删&lt;/strong&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;可能需要 &lt;strong&gt;root&lt;/strong&gt; 才能删除，因为 &lt;code&gt;/sdcard&lt;/code&gt; 映射在 &lt;code&gt;/storage/emulated/0&lt;/code&gt;，而有些奇怪文件只有 root 权限能删：&lt;/li&gt;&lt;/ul&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;adb root
adb shell
rm -i /storage/emulated/0/&amp;lt;那文件&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;p&gt;? &lt;strong&gt;建议流程&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;先 inode 确认&lt;/strong&gt;（方法1）&lt;/li&gt;&lt;li&gt;如果删除失败 → 确认 &lt;code&gt;/sdcard&lt;/code&gt; 实际挂载点（&lt;code&gt;mount | grep sdcard&lt;/code&gt;）&lt;/li&gt;&lt;li&gt;必要时切换到真实路径 &lt;code&gt;/mnt/user/0/primary/&lt;/code&gt; 或 &lt;code&gt;/data/media/0/&lt;/code&gt; 删除&lt;/li&gt;&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;我可以帮你写一个 &lt;strong&gt;一键 adb 命令&lt;/strong&gt;，自动找出 &lt;code&gt;/sdcard&lt;/code&gt; 里含非法字节的文件并删除，这样你不用手动输入中文，也不用担心路径编码问题。&lt;br&gt;你要我帮你写吗？这样直接运行就能删掉。&lt;/p&gt;
</description><pubDate>Mon, 11 Aug 2025 12:11:43 +0800</pubDate></item><item><title>Linux在bashrc中动态配置终端代理开启和关闭</title><link>https://11000011.com/?id=718</link><description>&lt;p&gt;可以将设置代理的操作封装成一个函数，并将其放入 &lt;code&gt;~/.bashrc&lt;/code&gt; 文件中，这样可以在需要时手动启用或禁用代理。以下是实现方式：&lt;/p&gt;
&lt;h3 id=&quot;h3-1-&quot;&gt;&lt;a name=&quot;1. 定义代理配置函数&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 定义代理配置函数&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;~/.bashrc&lt;/code&gt; 文件中添加以下代码：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Function to enable or disable HTTP proxy
set_proxy() {
    if [ &amp;quot;$1&amp;quot; == &amp;quot;on&amp;quot; ]; then
        export http_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
        export https_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
        export ftp_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
        export no_proxy=&amp;quot;localhost,127.0.0.1,::1&amp;quot;
        echo &amp;quot;Proxy is enabled.&amp;quot;
    elif [ &amp;quot;$1&amp;quot; == &amp;quot;off&amp;quot; ]; then
        unset http_proxy
        unset https_proxy
        unset ftp_proxy
        unset no_proxy
        echo &amp;quot;Proxy is disabled.&amp;quot;
    else
        echo &amp;quot;Usage: set_proxy on|off&amp;quot;
    fi
}&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;把 &lt;code&gt;username:password&lt;a href=&quot;https://github.com/proxy_address&quot; title=&quot;&amp;#64;proxy_address&quot; class=&quot;at-link&quot;&gt;@proxy_address&lt;/a&gt;:port&lt;/code&gt; 替换为实际的代理地址和端口。&lt;/li&gt;&lt;li&gt;保存并关闭 &lt;code&gt;~/.bashrc&lt;/code&gt; 文件。&lt;/li&gt;&lt;/ul&gt;
&lt;h3 id=&quot;h3-2-code-bashrc-code-&quot;&gt;&lt;a name=&quot;2. 使 &lt;code&gt;.bashrc&lt;/code&gt; 配置生效&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 使 &lt;code&gt;.bashrc&lt;/code&gt; 配置生效&lt;/h3&gt;&lt;p&gt;运行以下命令应用修改：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;source ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-3-code-set_proxy-code-&quot;&gt;&lt;a name=&quot;3. 使用 &lt;code&gt;set_proxy&lt;/code&gt; 函数&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 使用 &lt;code&gt;set_proxy&lt;/code&gt; 函数&lt;/h3&gt;&lt;p&gt;在终端中可以使用以下命令启用或禁用代理：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;启用代理&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;set_proxy on&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;禁用代理&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;set_proxy off&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;这样，通过 &lt;code&gt;set_proxy on&lt;/code&gt; 和 &lt;code&gt;set_proxy off&lt;/code&gt; 可以方便地控制代理的启用和禁用。&lt;/p&gt;
</description><pubDate>Wed, 06 Nov 2024 16:01:50 +0800</pubDate></item><item><title>Ubuntu终端设置 HTTP 代理</title><link>https://11000011.com/?id=717</link><description>&lt;p&gt;在 Ubuntu 中，可以通过配置环境变量的方式为终端设置 HTTP 代理。以下是具体步骤：&lt;/p&gt;
&lt;h3 id=&quot;h3-1-http-&quot;&gt;&lt;a name=&quot;1. 临时设置 HTTP 代理&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;1. 临时设置 HTTP 代理&lt;/h3&gt;&lt;p&gt;如果只需要临时设置代理，可以直接在终端中输入以下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;export http_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
export https_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
export ftp_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
export no_proxy=&amp;quot;localhost,127.0.0.1,::1&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;username&lt;/code&gt; 和 &lt;code&gt;password&lt;/code&gt; 是代理的用户名和密码（如果没有，可省略）。&lt;/li&gt;&lt;li&gt;&lt;code&gt;proxy_address&lt;/code&gt; 是代理服务器的 IP 地址或域名。&lt;/li&gt;&lt;li&gt;&lt;code&gt;port&lt;/code&gt; 是代理服务器的端口号。&lt;/li&gt;&lt;/ul&gt;
&lt;h3 id=&quot;h3-2-http-&quot;&gt;&lt;a name=&quot;2. 永久设置 HTTP 代理&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;2. 永久设置 HTTP 代理&lt;/h3&gt;&lt;p&gt;如果需要在每次启动终端时自动应用代理设置，可以将上述配置添加到 &lt;code&gt;~/.bashrc&lt;/code&gt; 文件或 &lt;code&gt;/etc/environment&lt;/code&gt; 文件中。&lt;/p&gt;
&lt;h4 id=&quot;h4--code-bashrc-code-&quot;&gt;&lt;a name=&quot;方法一：修改 &lt;code&gt;~/.bashrc&lt;/code&gt;&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方法一：修改 &lt;code&gt;~/.bashrc&lt;/code&gt;&lt;/h4&gt;&lt;p&gt;编辑 &lt;code&gt;~/.bashrc&lt;/code&gt; 文件，添加以下内容：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;export http_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
export https_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
export ftp_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
export no_proxy=&amp;quot;localhost,127.0.0.1,::1&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;保存文件后，运行以下命令使更改生效：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;source ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;h4--code-etc-environment-code-&quot;&gt;&lt;a name=&quot;方法二：修改 &lt;code&gt;/etc/environment&lt;/code&gt;&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方法二：修改 &lt;code&gt;/etc/environment&lt;/code&gt;&lt;/h4&gt;&lt;p&gt;如果希望代理配置对所有用户生效，可以编辑 &lt;code&gt;/etc/environment&lt;/code&gt; 文件：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo nano /etc/environment&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在文件中添加以下行：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;http_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
https_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
ftp_proxy=&amp;quot;http://username:password@proxy_address:port&amp;quot;
no_proxy=&amp;quot;localhost,127.0.0.1,::1&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;保存并退出后，重新启动系统或运行以下命令使配置生效：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;source /etc/environment&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;h3-3-&quot;&gt;&lt;a name=&quot;3. 取消代理设置&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;3. 取消代理设置&lt;/h3&gt;&lt;p&gt;如果不再需要代理设置，可以删除或注释掉相应配置文件中的代理行，或在终端中使用以下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;unset http_proxy
unset https_proxy
unset ftp_proxy
unset no_proxy&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样就可以在 Ubuntu 终端中顺利配置 HTTP 代理了。&lt;/p&gt;
</description><pubDate>Wed, 06 Nov 2024 15:45:16 +0800</pubDate></item><item><title>在 TrueNAS 上安装 Syncthing 应用时报错 [ENOENT] Unable to locate &#039;syncthing&#039;</title><link>https://11000011.com/?id=716</link><description>&lt;p&gt;在 TrueNAS 上安装 Syncthing 应用时报错 &lt;code&gt;[ENOENT] Unable to locate &amp;#39;syncthing&amp;#39;&lt;/code&gt; 通常表示系统无法找到 Syncthing 应用的安装路径。这可能是由于 TrueNAS 的应用仓库配置错误，或应用未正确下载和同步。&lt;/p&gt;
&lt;p&gt;以下是一些可能的解决步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;刷新应用目录&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;进入 TrueNAS 管理界面，导航到 &lt;strong&gt;Apps&lt;/strong&gt; &amp;gt; &lt;strong&gt;Manage Catalogs&lt;/strong&gt;。&lt;/li&gt;&lt;li&gt;找到 Syncthing 所在的应用目录（如 TrueNAS 官方目录或第三方目录），选择 &lt;strong&gt;Refresh Catalog&lt;/strong&gt; 以更新应用列表。&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;检查应用路径&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;确保路径 &lt;code&gt;/mnt/HDD/ix-applications/catalogs/github_com_truenas_charts_git_master/charts/&lt;/code&gt; 存在，并且其中包含 &lt;code&gt;syncthing&lt;/code&gt; 目录。&lt;/li&gt;&lt;li&gt;如果路径不存在，可能是 TrueNAS 应用目录的存储位置设置不正确，可以检查并修改 &lt;strong&gt;Apps&lt;/strong&gt; &amp;gt; &lt;strong&gt;Settings&lt;/strong&gt; 中的应用目录路径。&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;重新添加或更新应用目录&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在 &lt;strong&gt;Apps&lt;/strong&gt; &amp;gt; &lt;strong&gt;Manage Catalogs&lt;/strong&gt; 中，移除当前目录，然后重新添加。添加时选择正确的仓库 URL（如 TrueNAS 官方或您使用的第三方仓库）。&lt;/li&gt;&lt;li&gt;确保网络连接正常，以便 TrueNAS 能够成功下载应用列表。&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;检查 TrueNAS 版本和兼容性&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果使用的是 TrueNAS SCALE，确保系统已更新至最新版本，因为不同版本的 TrueNAS 对某些应用和路径结构可能有不同的要求。&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;完成这些步骤后，重试安装 Syncthing 应用，看看问题是否解决。&lt;/p&gt;
</description><pubDate>Wed, 06 Nov 2024 12:24:54 +0800</pubDate></item><item><title>TrueNAS如何配置全局代理</title><link>https://11000011.com/?id=715</link><description>&lt;p&gt;在 TrueNAS 中配置全局代理可以帮助系统和应用在受限的网络环境下访问外部资源。TrueNAS 不直接提供内置的代理配置界面，但可以通过以下几种方式配置全局代理：&lt;/p&gt;
&lt;h2 id=&quot;h2--1-&quot;&gt;&lt;a name=&quot;方法 1：通过命令行配置全局代理&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方法 1：通过命令行配置全局代理&lt;/h2&gt;&lt;p&gt;进入 TrueNAS Shell：&lt;br&gt;在 TrueNAS 管理界面中，进入 Shell。&lt;/p&gt;
&lt;h3 id=&quot;h3--&quot;&gt;&lt;a name=&quot;设置代理环境变量：&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;设置代理环境变量：&lt;/h3&gt;&lt;p&gt;使用 export 命令设置代理。请根据您的代理服务器信息替换以下命令中的地址和端口：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;export http_proxy=&amp;quot;http://your_proxy_address:port&amp;quot;
export https_proxy=&amp;quot;http://your_proxy_address:port&amp;quot;
export ftp_proxy=&amp;quot;http://your_proxy_address:port&amp;quot;
export no_proxy=&amp;quot;localhost,127.0.0.1,localaddress,.localdomain.com&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;上述设置仅对当前 shell 会话有效。如果需要全局持久化配置，可在 /etc/profile 文件中添加这些变量。&lt;/p&gt;
&lt;h3 id=&quot;h3--&quot;&gt;&lt;a name=&quot;验证代理是否生效：&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;验证代理是否生效：&lt;/h3&gt;&lt;p&gt;使用 curl 或 wget 命令测试代理连接，例如：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;curl -I http://example.com&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果连接正常，则代理已配置成功。&lt;/p&gt;
&lt;h2 id=&quot;h2--2-docker-kubernetes-&quot;&gt;&lt;a name=&quot;方法 2：修改 Docker 和 Kubernetes 代理设置&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方法 2：修改 Docker 和 Kubernetes 代理设置&lt;/h2&gt;&lt;p&gt;在 TrueNAS SCALE 中，应用通常通过 Kubernetes 和 Docker 运行。要为这些容器化应用配置代理，可以进行以下设置：&lt;/p&gt;
&lt;h3 id=&quot;h3--docker-&quot;&gt;&lt;a name=&quot;为 Docker 设置代理：&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;为 Docker 设置代理：&lt;/h3&gt;&lt;p&gt;进入 Shell，创建或编辑 Docker 配置文件 /etc/systemd/system/docker.service.d/http-proxy.conf：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;[Service]
Environment=&amp;quot;HTTP_PROXY=http://your_proxy_address:port&amp;quot;
Environment=&amp;quot;HTTPS_PROXY=http://your_proxy_address:port&amp;quot;
Environment=&amp;quot;NO_PROXY=localhost,127.0.0.1,localaddress,.localdomain.com&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;重新启动 Docker 以应用更改：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;systemctl daemon-reload
systemctl restart docker&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;h4--kubernetes-&quot;&gt;&lt;a name=&quot;为 Kubernetes 设置代理：&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;为 Kubernetes 设置代理：&lt;/h4&gt;&lt;p&gt;在 TrueNAS SCALE 上使用代理时，确保应用 Helm Charts 或 Kubernetes YAML 文件中设置了相关代理变量（如 http_proxy、https_proxy）。&lt;/p&gt;
&lt;h2 id=&quot;h2--3-&quot;&gt;&lt;a name=&quot;方法 3：配置系统代理以影响所有网络流量&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方法 3：配置系统代理以影响所有网络流量&lt;/h2&gt;&lt;p&gt;在 TrueNAS 中配置系统代理以影响所有流量通常需要路由器或网络设备支持。可以通过以下方式配置全局网络代理：&lt;/p&gt;
&lt;h3 id=&quot;h3--&quot;&gt;&lt;a name=&quot;在路由器上配置代理：&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;在路由器上配置代理：&lt;/h3&gt;&lt;p&gt;如果路由器支持透明代理（Transparent Proxy）或 Socks 代理，可以在路由器上进行设置，使 TrueNAS 流量通过代理服务器。&lt;/p&gt;
&lt;h3 id=&quot;h3--squid-&quot;&gt;&lt;a name=&quot;使用代理服务器（如 Squid）：&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;使用代理服务器（如 Squid）：&lt;/h3&gt;&lt;p&gt;在 TrueNAS 上安装 Squid 或其他代理服务器，或使用网络上的其他设备配置代理服务器并将 TrueNAS 的网关指向该服务器。&lt;/p&gt;
&lt;p&gt;通过这些方式可以在 TrueNAS 系统中启用全局代理，根据需求选择合适的方法进行配置。&lt;/p&gt;
</description><pubDate>Wed, 06 Nov 2024 12:20:42 +0800</pubDate></item><item><title>Package management tools are disabled on TrueNAS appliances.</title><link>https://11000011.com/?id=714</link><description>&lt;p&gt;TrueNAS SCALE 确实禁用了包管理工具，如 apt，这是为了确保系统的稳定性和兼容性。手动更新或安装新软件包可能会破坏 TrueNAS SCALE 的核心功能，甚至导致系统无法正常工作。因此，建议通过 TrueNAS SCALE 的 Web 界面进行所有系统更新和软件安装。&lt;br&gt;建议的方法：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;使用 TrueNAS 应用商店：TrueNAS SCALE 提供了一个内置的应用商店（&amp;quot;Apps&amp;quot;），可以安全地安装和管理各种应用和插件，包括 Docker 容器。
系统更新：通过 TrueNAS 的 Web 界面进行更新，路径是：System Settings &amp;gt; Update，可以确保获得官方支持的更新。
自定义需求：如果确实需要额外的软件功能，建议在 TrueNAS SCALE 上使用 Docker 或 Kubernetes 功能。这些容器化的应用与系统隔离，可以避免直接修改底层系统。&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;通过这种方式，您可以避免潜在的问题并保证 TrueNAS 系统的稳定性。&lt;/p&gt;
</description><pubDate>Wed, 06 Nov 2024 12:20:20 +0800</pubDate></item><item><title>混淆报错com.cloudmedia.tv.plug.PreLoadPlug: can&#039;t find referenced class java.lang.invoke.MethodHandle</title><link>https://11000011.com/?id=713</link><description>&lt;p&gt;此混淆报错表明在混淆过程中找不到 java.lang.invoke.MethodHandle 类的引用。这种情况可能发生在以下几种情况下：&lt;br&gt;可能原因和解决方法&lt;/p&gt;
&lt;h2 id=&quot;h2--sdk-&quot;&gt;&lt;a name=&quot;使用的 SDK 版本过低：&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;使用的 SDK 版本过低：&lt;/h2&gt;&lt;p&gt;java.lang.invoke.MethodHandle 是从 Java 7 引入的 API。如果项目的编译 SDK 版本设置过低（例如 Java 6），编译器可能无法识别该类。&lt;/p&gt;
&lt;p&gt;解决方法：检查并确保 minSdkVersion 适当（一般来说，API 26 以上支持较新类库），同时确保 compileSdkVersion 和 targetSdkVersion 设置为至少 26 或更高版本。&lt;/p&gt;
&lt;h2 id=&quot;h2--&quot;&gt;&lt;a name=&quot;混淆配置问题：&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;混淆配置问题：&lt;/h2&gt;&lt;p&gt;混淆工具（如 ProGuard、R8）在优化和混淆过程中可能会移除某些未直接引用的类和方法。&lt;br&gt;解决方法：在 ProGuard 混淆配置文件中，添加对 java.lang.invoke.MethodHandle 的保留规则，确保它不会被混淆或移除。例如，在 proguard-rules.pro 中添加以下规则：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-proguard&quot;&gt;-keep class java.lang.invoke.MethodHandle { *; }
-keepclassmembers class java.lang.invoke.MethodHandles { *; }&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;依赖库兼容性问题：&lt;/p&gt;
&lt;p&gt;某些第三方库可能引用了 MethodHandle 相关 API，而当前的项目配置中没有引入正确的依赖。&lt;br&gt;解决方法：检查 PreLoadPlug 相关库的版本是否与项目的 SDK 版本兼容，确保使用的库版本适配当前的 Android SDK。&lt;/p&gt;
&lt;h2 id=&quot;h2-android-java-api-&quot;&gt;&lt;a name=&quot;Android 不支持的 Java API：&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Android 不支持的 Java API：&lt;/h2&gt;&lt;p&gt;Android 平台的某些版本不完全支持 Java SE 中的所有 API，特别是涉及 java.lang.invoke 包的类。&lt;br&gt;解决方法：确保应用中使用的功能或库可以在 Android 平台上兼容。&lt;/p&gt;
</description><pubDate>Wed, 06 Nov 2024 12:18:30 +0800</pubDate></item><item><title>android如何查看某个app进程内部加载的so库</title><link>https://11000011.com/?id=712</link><description>&lt;p&gt;在 Android 上查看某个应用进程加载的 .so 库文件，可以使用以下方法：&lt;/p&gt;
&lt;h2 id=&quot;h2--1-adb-shell-cat-proc-pid-maps&quot;&gt;&lt;a name=&quot;方法 1：使用 adb shell 和 cat /proc/&lt;pid&gt;/maps&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方法 1：使用 adb shell 和 cat /proc/&lt;pid&gt;/maps&lt;/h2&gt;&lt;p&gt;获取应用的 PID：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;adb shell ps | grep &amp;lt;package_name&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里将 &lt;package_name&gt; 替换为目标应用的包名。例如，如果包名是 com.example.app，可以执行：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;adb shell ps | grep com.example.app&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;输出结果中，第一列为应用的 PID。&lt;/p&gt;
&lt;p&gt;查看加载的 .so 库：&lt;/p&gt;
&lt;p&gt;使用以下命令查看应用进程中加载的 .so 库：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;adb shell cat /proc/&amp;lt;pid&amp;gt;/maps | grep &amp;#39;\.so&amp;#39;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;将 &lt;pid&gt; 替换为上一步获取的 PID。此命令会列出进程加载的所有 .so 文件路径。&lt;/p&gt;
&lt;h2 id=&quot;h2--2-ndk-stack-&quot;&gt;&lt;a name=&quot;方法 2：使用 ndk-stack 查看详细调用栈（调试时）&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方法 2：使用 ndk-stack 查看详细调用栈（调试时）&lt;/h2&gt;&lt;p&gt;如果你在调试或开发时希望获取更多详细信息，也可以使用 Android NDK 提供的 ndk-stack 工具分析崩溃日志，其中会列出 .so 文件的加载信息和调用栈信息。&lt;/p&gt;
</description><pubDate>Wed, 06 Nov 2024 12:16:46 +0800</pubDate></item><item><title>nmap 扫描所有开放tcp端口</title><link>https://11000011.com/?id=711</link><description>&lt;p&gt;要使用 nmap 扫描所有开放的 TCP 端口，可以执行以下命令：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;nmap -sT -p- &amp;lt;target_ip&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;参数说明：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;-sT：进行 TCP 连接扫描。此选项用于不需要 root 权限的普通用户。
-p-：扫描所有端口（1 到 65535）。
&amp;lt;target_ip&amp;gt;：替换为你要扫描的目标 IP 地址或域名。&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;p&gt;假设目标 IP 为 192.168.1.1，则命令为：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;nmap -sT -p- 192.168.1.1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;使用 root 权限的快速扫描&lt;/p&gt;
&lt;p&gt;如果具备 root 权限，推荐使用 SYN 扫描 (-sS)，效率更高：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo nmap -sS -p- 192.168.1.1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这将扫描目标所有开放的 TCP 端口并更快速地提供结果。&lt;/p&gt;
</description><pubDate>Wed, 06 Nov 2024 12:15:32 +0800</pubDate></item><item><title>如何强制修改安卓系统阻止休眠</title><link>https://11000011.com/?id=710</link><description>&lt;p&gt;通过修改系统设置来阻止安卓设备进入休眠，需要设备已获得 Root 权限，因为修改系统级的设置需要超出普通用户的权限。获得 Root 权限后，你可以通过修改系统文件、使用终端命令或自动化工具来实现阻止休眠。以下是几种方法的详细说明：&lt;/p&gt;
&lt;h2 id=&quot;h2--1-build-prop-&quot;&gt;&lt;a name=&quot;方法 1：修改系统文件（使用 build.prop 文件）&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方法 1：修改系统文件（使用 build.prop 文件）&lt;/h2&gt;&lt;p&gt;build.prop 是安卓系统中一个重要的配置文件，它包含许多系统设置。通过编辑该文件，您可以改变设备的行为。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;备份 build.prop 文件：
    使用文件管理器应用（如 ES文件浏览器，或者其他支持Root访问的管理器）并获取Root权限。
    导航到 /system/ 目录，找到 build.prop 文件。
    复制并备份 build.prop 文件，以防修改出错。

编辑 build.prop 文件：
    使用文本编辑器打开 build.prop 文件。
    在文件末尾添加以下行：

    bash

    persist.sys.screen_on=1

    保存更改后，重启设备。

效果：
    添加此设置后，设备将持续保持屏幕常亮，阻止休眠。&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;h2--2-settings-&quot;&gt;&lt;a name=&quot;方法 2：通过 settings 命令修改系统设置&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方法 2：通过 settings 命令修改系统设置&lt;/h2&gt;&lt;p&gt;安卓系统中可以通过终端命令直接修改某些系统设置。获得 Root 权限后，可以使用 adb 或设备上的终端工具执行这些命令。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;安装终端工具：
    如果设备没有自带终端模拟器，您可以从 Google Play 商店安装 Termux 或其他终端应用。

使用 settings 命令修改休眠时间： 在终端中输入以下命令来延长屏幕超时或阻止休眠：

bash&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;settings put system screen_off_timeout 2147483647&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;该命令将屏幕超时时间设置为一个极大的值（2147483647 毫秒，大约是 24 天），基本上相当于屏幕不会自动关闭。&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;其他相关命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;如果您想让设备在充电时保持屏幕常亮，可以使用以下命令：

bash

    settings put global stay_on_while_plugged_in 3

    该命令设置设备在充电（USB 或电源）时屏幕常亮。&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;h2--3-tasker-root-&quot;&gt;&lt;a name=&quot;方法 3：使用 Tasker 与 Root 权限阻止休眠&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方法 3：使用 Tasker 与 Root 权限阻止休眠&lt;/h2&gt;&lt;p&gt;Tasker 是一款非常强大的自动化应用，可以通过脚本和配置文件实现多种系统级别的任务。如果您有 Root 权限，Tasker 可以直接控制系统行为，包括阻止休眠。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;安装 Tasker：
    从 Google Play 商店下载并安装 Tasker 应用。

配置 Tasker 来阻止休眠：
    打开 Tasker，创建一个新的配置文件。
    选择一个触发条件（如应用启动、充电等）。
    在任务中，选择 Display &amp;gt; Display Timeout，将屏幕超时时间设置为一个极大值，如 10小时或更多。
    或者，使用 Tasker 的 Shell 操作，在任务中执行如下命令（确保 Root 权限已经授予）：

    bash

    svc power stayon true

    该命令会使设备持续保持屏幕常亮。&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;h2--4-rom&quot;&gt;&lt;a name=&quot;方法 4：修改内核或使用自定义 ROM&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;方法 4：修改内核或使用自定义 ROM&lt;/h2&gt;&lt;p&gt;如果您对内核有更深入的了解，还可以通过修改安卓设备的内核来永久性阻止休眠，或者安装已经修改好的自定义 ROM。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;修改内核：
    如果您具备编译安卓内核的能力，您可以在内核源码中查找并修改电源管理相关的代码，将其编译后刷入设备。

使用自定义 ROM：
    有些自定义 ROM（如 LineageOS、AOSP-based ROM）允许您通过高级电源设置来控制休眠行为，您可以根据自己的需求刷入这些 ROM。&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&quot;h2--&quot;&gt;&lt;a name=&quot;注意事项：&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;注意事项：&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;风险提示：修改系统文件如 build.prop 可能导致设备不可用，确保备份好文件和数据。如果修改出错导致设备无法启动，可以通过恢复出厂设置或刷回原版系统解决问题。
电池消耗：长时间阻止设备进入休眠会导致电池快速消耗，尤其是在屏幕持续亮起的情况下，建议合理使用这种方法。&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这些方法都是基于Root权限的不同实现方式。如果你对其中的某个方法感兴趣，可以根据你的需求选择最合适的步骤。&lt;/p&gt;
</description><pubDate>Tue, 22 Oct 2024 15:29:52 +0800</pubDate></item></channel></rss>