<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>业余玩家</title><description>个人记录</description><link>https://jk.sb/</link><language>zh_CN</language><item><title>[进阶]Remnawave节点管理面板-落地篇</title><link>https://jk.sb/posts/remna-install-3/</link><guid isPermaLink="true">https://jk.sb/posts/remna-install-3/</guid><description>落地篇是指在Remnawave节点管理面板中配置落地节点，用于转发流量。</description><pubDate>Thu, 23 Oct 2025 18:57:09 GMT</pubDate><content:encoded>&lt;p&gt;:::info
落地篇是指在Remna节点管理面板中配置落地节点，用于转发流量。
:::&lt;/p&gt;
&lt;h2&gt;搭建落地节点&lt;/h2&gt;
&lt;p&gt;本人习惯使用&lt;a href=&quot;https://github.com/MHSanaei/3x-ui/blob/main/README.zh_CN.md&quot;&gt;3xui&lt;/a&gt;搭建落地节点&lt;/p&gt;
&lt;h3&gt;新建socks5入站&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;入站协议：socks&lt;/li&gt;
&lt;li&gt;监听端口：9999  &lt;em&gt;&lt;strong&gt;#随机即可&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;密码：开启&lt;/li&gt;
&lt;li&gt;用户名：testuser&lt;/li&gt;
&lt;li&gt;密码：testpwd&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;/IMG/remna-install-3/1.png&quot; alt=&quot;新建socks5入站&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;快捷获取出站配置&lt;/h3&gt;
&lt;p&gt;左侧导航栏 &lt;code&gt;Xray设置&lt;/code&gt;-&amp;gt;&lt;code&gt;出站规则&lt;/code&gt;-&amp;gt;&lt;code&gt;添加出站&lt;/code&gt; ，这里就有老铁问了，我落地鸡添加什么出站？
其实是利用3xui的工具来获取配置参数，不用快捷工具徒手搓这简直唐的没边了！
&lt;img src=&quot;/IMG/remna-install-3/2.png&quot; alt=&quot;快捷获取出站配置&quot; /&gt;
填入刚刚新建的socks5入站配置参数
&lt;img src=&quot;/IMG/remna-install-3/3.png&quot; alt=&quot;填入刚刚新建的socks5入站配置参数&quot; /&gt;
点击 &lt;code&gt;JSON&lt;/code&gt;选项卡，复制出配置参数
&lt;img src=&quot;/IMG/remna-install-3/4.png&quot; alt=&quot;复制出配置参数&quot; /&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
  &quot;tag&quot;: &quot;落地鸡&quot;,
  &quot;protocol&quot;: &quot;socks&quot;,
  &quot;settings&quot;: {
    &quot;servers&quot;: [
      {
        &quot;address&quot;: &quot;落地鸡IP&quot;,
        &quot;port&quot;: 9999,
        &quot;users&quot;: [
          {
            &quot;user&quot;: &quot;testuser&quot;,
            &quot;pass&quot;: &quot;testpwd&quot;
          }
        ]
      }
    ]
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里算是完成落地鸡的配置，后面就可以在Remna节点管理面板中配置中转节点了。&lt;/p&gt;
&lt;h2&gt;修改Remna节点配置&lt;/h2&gt;
&lt;p&gt;先进入Xray设置
&lt;img src=&quot;/IMG/remna-install-3/5.png&quot; alt=&quot;Xray设置&quot; /&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
  &quot;log&quot;: {
    &quot;loglevel&quot;: &quot;info&quot;
  },
  &quot;inbounds&quot;: [
    {
      &quot;tag&quot;: &quot;test1&quot;,
      &quot;port&quot;: 30004,
      &quot;protocol&quot;: &quot;vless&quot;,
      &quot;settings&quot;: {
        &quot;clients&quot;: [],
        &quot;decryption&quot;: &quot;none&quot;
      },
      &quot;sniffing&quot;: {
        &quot;enabled&quot;: true,
        &quot;destOverride&quot;: [
          &quot;http&quot;,
          &quot;tls&quot;,
          &quot;quic&quot;
        ]
      },
      &quot;streamSettings&quot;: {
        &quot;network&quot;: &quot;tcp&quot;,
        &quot;security&quot;: &quot;reality&quot;,
        &quot;realitySettings&quot;: {
          &quot;dest&quot;: &quot;www.amd.com:443&quot;,
          &quot;show&quot;: false,
          &quot;xver&quot;: 0,
          &quot;spiderX&quot;: &quot;&quot;,
          &quot;shortIds&quot;: [
            &quot;42aeec&quot;,
            &quot;66c8bd6b1002427d&quot;,
            &quot;5a1f&quot;,
            &quot;6c&quot;,
            &quot;adfb6126&quot;,
            &quot;ce557a621e&quot;,
            &quot;5fc062b8b4c2b9&quot;,
            &quot;e4cfaf01e274&quot;
          ],
          &quot;publicKey&quot;: &quot;3FB5YuwJgxCbQurerSwjhXDIHAB_SRdyecd5XLhtwE0&quot;,
          &quot;privateKey&quot;: &quot;m5mIb4EXjqkcfDDHRW_pU7Vz-hehwNgR5Hi2HFCO4S0&quot;,
          &quot;serverNames&quot;: [
            &quot;www.amd.com&quot;
          ]
        }
      }
    }
  ],
  &quot;outbounds&quot;: [
    {
      &quot;tag&quot;: &quot;落地鸡&quot;,
      &quot;protocol&quot;: &quot;socks&quot;,
      &quot;settings&quot;: {
        &quot;servers&quot;: [
          {
            &quot;address&quot;: &quot;落地鸡IP&quot;,
            &quot;port&quot;: 9999,
            &quot;users&quot;: [
              {
                &quot;user&quot;: &quot;testuser&quot;,
                &quot;pass&quot;: &quot;testpwd&quot;
              }
            ]
          }
        ]
      }
    },
    {
      &quot;tag&quot;: &quot;DIRECT&quot;,
      &quot;protocol&quot;: &quot;freedom&quot;
    },
    {
      &quot;tag&quot;: &quot;BLOCK&quot;,
      &quot;protocol&quot;: &quot;blackhole&quot;
    }
  ],
  &quot;routing&quot;: {
    &quot;rules&quot;: [
      {
        &quot;type&quot;: &quot;field&quot;,
        &quot;inboundTag&quot;: [
          &quot;test1&quot;,
        ],
        &quot;outboundTag&quot;: &quot;落地鸡&quot;
      },
      {
        &quot;ip&quot;: [
          &quot;geoip:private&quot;
        ],
        &quot;type&quot;: &quot;field&quot;,
        &quot;outboundTag&quot;: &quot;BLOCK&quot;
      },
      {
        &quot;type&quot;: &quot;field&quot;,
        &quot;domain&quot;: [
          &quot;geosite:private&quot;
        ],
        &quot;outboundTag&quot;: &quot;BLOCK&quot;
      },
      {
        &quot;type&quot;: &quot;field&quot;,
        &quot;protocol&quot;: [
          &quot;bittorrent&quot;
        ],
        &quot;outboundTag&quot;: &quot;BLOCK&quot;
      }
    ]
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;点击下方&lt;code&gt;保存&lt;/code&gt;，开始奔放吧！&lt;/p&gt;
</content:encoded></item><item><title>Remnawave节点管理面板-面板篇</title><link>https://jk.sb/posts/remna-install-1/</link><guid isPermaLink="true">https://jk.sb/posts/remna-install-1/</guid><description>Remnawave节点管理面板Docker部署安装教程</description><pubDate>Sat, 18 Oct 2025 21:37:53 GMT</pubDate><content:encoded>&lt;p&gt;:::tip
这是秒杀一切的面板，它可以帮助你管理你的节点，包括节点的状态、节点的配置、节点的日志等。
:::&lt;/p&gt;
&lt;p&gt;面板官网：&lt;a href=&quot;https://remna.st/&quot;&gt;https://remna.st/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;安装Docker&lt;/h2&gt;
&lt;p&gt;使用官方脚本安装 Docker&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo curl -fsSL https://get.docker.com | sh
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;安装前准备&lt;/h2&gt;
&lt;h3&gt;创建运行目录&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;mkdir /opt/remnawave &amp;amp;&amp;amp; cd /opt/remnawave
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;获取docker-compose.yml文件&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;curl -o docker-compose.yml https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/docker-compose-prod.yml
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;获取 .env 文件&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;curl -o .env https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/.env.sample
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;配置 .env 文件&lt;/h2&gt;
&lt;h3&gt;生成安全密钥&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;sed -i &quot;s/^JWT_AUTH_SECRET=.*/JWT_AUTH_SECRET=$(openssl rand -hex 64)/&quot; .env &amp;amp;&amp;amp; sed -i &quot;s/^JWT_API_TOKENS_SECRET=.*/JWT_API_TOKENS_SECRET=$(openssl rand -hex 64)/&quot; .env
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;生成密码&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;sed -i &quot;s/^METRICS_PASS=.*/METRICS_PASS=$(openssl rand -hex 64)/&quot; .env &amp;amp;&amp;amp; sed -i &quot;s/^WEBHOOK_SECRET_HEADER=.*/WEBHOOK_SECRET_HEADER=$(openssl rand -hex 64)/&quot; .env
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;更改 Postgres 密码&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;pw=$(openssl rand -hex 24) &amp;amp;&amp;amp; sed -i &quot;s/^POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=$pw/&quot; .env &amp;amp;&amp;amp; sed -i &quot;s|^\(DATABASE_URL=\&quot;postgresql://postgres:\)[^\@]*\(@.*\)|\1$pw\2|&quot; .env
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;配置面板端域名&lt;/h3&gt;
&lt;p&gt;现在，打开&lt;code&gt;.env&lt;/code&gt;文件并更新以下变量：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;FRONT_END_DOMAIN&lt;/code&gt;是面板可访问的域名。在此处输入您的域名。 例：panel.yourdomain.com
&lt;code&gt;SUB_PUBLIC_DOMAIN&lt;/code&gt;是订阅地址 例：panel.yourdomain.com/api/sub&lt;/p&gt;
&lt;h2&gt;启动容器&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;docker compose up -d &amp;amp;&amp;amp; docker compose logs -f -t
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;建议使用1Panel管理容器，panel.yourdomain.com反向代理到3000端口&lt;/p&gt;
</content:encoded></item><item><title>Remnawave节点管理面板-节点篇</title><link>https://jk.sb/posts/remna-install-2/</link><guid isPermaLink="true">https://jk.sb/posts/remna-install-2/</guid><description>Remnawave节点管理面板Docker部署及节点配置教程</description><pubDate>Sat, 18 Oct 2025 17:16:41 GMT</pubDate><content:encoded>&lt;p&gt;:::warning
Remnawave Panel 不包括 Xray-core，因此您需要在单独的服务器上安装 Remnawave Node 才能使用 Remnawave 的所有功能。
节点端也需要安装Docker
:::&lt;/p&gt;
&lt;h2&gt;创建项目目录&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;mkdir /opt/remnanode &amp;amp;&amp;amp; cd /opt/remnanode
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;配置 .env 文件&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;nano .env
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;.env 文件内容&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;APP_PORT=2222

SSL_CERT=CERT_FROM_MAIN_PANEL
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;:::tip
&lt;code&gt;SSL_CERT&lt;/code&gt; 值可以从 节点 → 管理 下的 面板 → 创建新节点 （按钮）中获取。复制按钮将添加到剪贴板。
:::&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/IMG/remna-install-2/02.png&quot; alt=&quot;rem-02.png&quot; /&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;APP_PORT=2222

SSL_CERT=&quot;eyJub2RlQ2xxxxxxx.......&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;创建docker-compose.yml文件&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;nano docker-compose.yml
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;services:
    remnanode:
        container_name: remnanode
        hostname: remnanode
        image: remnawave/node:latest
        restart: always
        network_mode: host
        env_file:
            - .env
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;启动节点容器&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;docker compose up -d &amp;amp;&amp;amp; docker compose logs -f -t
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;编辑xray配置文件&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/IMG/remna-install-2/03.png&quot; alt=&quot;rem-03.png&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;vless+tcp+reality配置&lt;/h3&gt;
&lt;p&gt;想图方便可以直接复制粘贴进配置文件，入站标签是唯一的可以自定义&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
  &quot;log&quot;: {
    &quot;loglevel&quot;: &quot;info&quot;
  },
  &quot;inbounds&quot;: [
    {
      &quot;tag&quot;: &quot;test1&quot;,
      &quot;port&quot;: 30004,
      &quot;protocol&quot;: &quot;vless&quot;,
      &quot;settings&quot;: {
        &quot;clients&quot;: [],
        &quot;decryption&quot;: &quot;none&quot;
      },
      &quot;sniffing&quot;: {
        &quot;enabled&quot;: true,
        &quot;destOverride&quot;: [
          &quot;http&quot;,
          &quot;tls&quot;,
          &quot;quic&quot;
        ]
      },
      &quot;streamSettings&quot;: {
        &quot;network&quot;: &quot;tcp&quot;,
        &quot;security&quot;: &quot;reality&quot;,
        &quot;realitySettings&quot;: {
          &quot;dest&quot;: &quot;www.amd.com:443&quot;,
          &quot;show&quot;: false,
          &quot;xver&quot;: 0,
          &quot;spiderX&quot;: &quot;&quot;,
          &quot;shortIds&quot;: [
            &quot;42aeec&quot;,
            &quot;66c8bd6b1002427d&quot;,
            &quot;5a1f&quot;,
            &quot;6c&quot;,
            &quot;adfb6126&quot;,
            &quot;ce557a621e&quot;,
            &quot;5fc062b8b4c2b9&quot;,
            &quot;e4cfaf01e274&quot;
          ],
          &quot;publicKey&quot;: &quot;3FB5YuwJgxCbQurerSwjhXDIHAB_SRdyecd5XLhtwE0&quot;,
          &quot;privateKey&quot;: &quot;m5mIb4EXjqkcfDDHRW_pU7Vz-hehwNgR5Hi2HFCO4S0&quot;,
          &quot;serverNames&quot;: [
            &quot;www.amd.com&quot;
          ]
        }
      }
    }
  ],
  &quot;outbounds&quot;: [
    {
      &quot;tag&quot;: &quot;DIRECT&quot;,
      &quot;protocol&quot;: &quot;freedom&quot;
    },
    {
      &quot;tag&quot;: &quot;BLOCK&quot;,
      &quot;protocol&quot;: &quot;blackhole&quot;
    }
  ],
  &quot;routing&quot;: {
    &quot;rules&quot;: [
      {
        &quot;ip&quot;: [
          &quot;geoip:private&quot;
        ],
        &quot;type&quot;: &quot;field&quot;,
        &quot;outboundTag&quot;: &quot;BLOCK&quot;
      },
      {
        &quot;type&quot;: &quot;field&quot;,
        &quot;domain&quot;: [
          &quot;geosite:private&quot;
        ],
        &quot;outboundTag&quot;: &quot;BLOCK&quot;
      },
      {
        &quot;type&quot;: &quot;field&quot;,
        &quot;protocol&quot;: [
          &quot;bittorrent&quot;
        ],
        &quot;outboundTag&quot;: &quot;BLOCK&quot;
      }
    ]
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;publicKey&lt;/code&gt;和&lt;code&gt;privateKey&lt;/code&gt;,可以在下方工具栏生成&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/IMG/remna-install-2/04.png&quot; alt=&quot;rem-04.png&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;将配置文件与节点关联&lt;/h2&gt;
&lt;p&gt;将配置文件与节点关联起来，需要在 节点 → 管理 下的 选中刚刚添加的节点，点击&lt;code&gt;更改配置文件&lt;/code&gt;，选中改成创建的&lt;code&gt;xray配置文件&lt;/code&gt;和入站标签,点击应用更改，再点击保存。
当然进行到这一步依然无法使用节点。往下看
&lt;img src=&quot;/IMG/remna-install-2/05.png&quot; alt=&quot;rem-05.png&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;创建主机&lt;/h2&gt;
&lt;p&gt;在这就是将入站真正的开启并监听端口
选择主机 → 创建主机
备注自定义，选择入站配置文件为刚刚创建的&lt;code&gt;test1&lt;/code&gt;，点击应用更改
&lt;img src=&quot;/IMG/remna-install-2/06.png&quot; alt=&quot;rem-06.png&quot; /&gt;
可以看到端口自动填入了&lt;code&gt;30004&lt;/code&gt;，地址要填绑定了节点的IP的域名，将右上角按钮到开启状态，
&lt;img src=&quot;/IMG/remna-install-2/07.png&quot; alt=&quot;rem-07.png&quot; /&gt;
至此可以看到入站为如下状态
&lt;img src=&quot;/IMG/remna-install-2/08.png&quot; alt=&quot;rem-08.png&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;最后一步&lt;/h2&gt;
&lt;p&gt;完成以上的步骤是99%，剩下1%是将配置文件赋予给用户。
进入内部分组，编辑默认分组文件，将配置文件赋予给分组，点击应用更改，再点击保存。
&lt;img src=&quot;/IMG/remna-install-2/10.png&quot; alt=&quot;rem-10.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;现在可以再用户列表选中用户，看到订阅链接。
&lt;img src=&quot;/IMG/remna-install-2/09.png&quot; alt=&quot;rem-09.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;此面板玩法极其丰富，适合几个人合租使用。&lt;/p&gt;
</content:encoded></item><item><title>Telegram双向机器人-验证码版</title><link>https://jk.sb/posts/banad-tgbot/</link><guid isPermaLink="true">https://jk.sb/posts/banad-tgbot/</guid><description>通过验证码屏蔽垃圾广告的双向私信机器人！</description><pubDate>Fri, 14 Nov 2025 23:40:01 GMT</pubDate><content:encoded>&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;本周双向私信机器人被轰炸，我一天收到了上千条垃圾广告。故拿AI搓了一个&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/Ham0mer/TGbot&quot;&gt;Github&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;Telegram 消息转发机器人&lt;/h1&gt;
&lt;p&gt;具有图片验证码和用户管理功能的 Telegram 消息转发机器人。&lt;/p&gt;
&lt;h2&gt;✨ 特性&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🔐 图片验证码防垃圾消息&lt;/li&gt;
&lt;li&gt;💬 主人回复功能（直接回复转发消息）&lt;/li&gt;
&lt;li&gt;🚫 用户拉黑/解除拉黑（&lt;code&gt;/block&lt;/code&gt; 和 &lt;code&gt;/unblock&lt;/code&gt; 命令）&lt;/li&gt;
&lt;li&gt;☁️ Supabase 云数据库（数据永不丢失）&lt;/li&gt;
&lt;li&gt;🐳 Docker 支持&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;🚀 快速开始&lt;/h1&gt;
&lt;p&gt;先配置数据库&lt;/p&gt;
&lt;h2&gt;配置 Supabase 数据库&lt;/h2&gt;
&lt;p&gt;在 &lt;a href=&quot;https://supabase.com&quot;&gt;Supabase&lt;/a&gt; 创建项目，然后在 SQL Editor 中执行：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;-- 消息映射表
CREATE TABLE message_mappings (
  id BIGSERIAL PRIMARY KEY,
  forwarded_message_id BIGINT UNIQUE NOT NULL,
  user_id BIGINT NOT NULL,
  username TEXT,
  created_at TIMESTAMPTZ DEFAULT NOW()
);

-- 已验证用户表
CREATE TABLE verified_users (
  id BIGSERIAL PRIMARY KEY,
  user_id BIGINT UNIQUE NOT NULL,
  username TEXT,
  verified_at TIMESTAMPTZ DEFAULT NOW()
);

-- 待验证用户表
CREATE TABLE pending_verifications (
  id BIGSERIAL PRIMARY KEY,
  user_id BIGINT UNIQUE NOT NULL,
  code TEXT NOT NULL,
  attempts INTEGER DEFAULT 0,
  expires_at TIMESTAMPTZ NOT NULL,
  created_at TIMESTAMPTZ DEFAULT NOW()
);

-- 拉黑用户表
CREATE TABLE blocked_users (
  id BIGSERIAL PRIMARY KEY,
  user_id BIGINT UNIQUE NOT NULL,
  blocked_at TIMESTAMPTZ DEFAULT NOW()
);

-- 创建索引
CREATE INDEX idx_message_mappings_forwarded_id ON message_mappings(forwarded_message_id);
CREATE INDEX idx_verified_users_user_id ON verified_users(user_id);
CREATE INDEX idx_pending_verifications_user_id ON pending_verifications(user_id);
CREATE INDEX idx_blocked_users_user_id ON blocked_users(user_id);
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;🐳 Docker 部署&lt;/h2&gt;
&lt;h3&gt;方法一：直接运行&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;docker run -d \
  --name telegram-bot \
  --restart unless-stopped \
  -e BOT_TOKEN=&quot;你的Bot_Token&quot; \
  -e OWNER_ID=&quot;你的用户ID&quot; \
  -e SUPABASE_URL=&quot;你的Supabase_URL&quot; \
  -e SUPABASE_KEY=&quot;你的Supabase_Key&quot; \
  -v $(pwd)/logs:/app/logs \
  ghcr.io/ham0mer/tgbot:latest
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;方法二：使用 docker-compose&lt;/h3&gt;
&lt;p&gt;修改 &lt;code&gt;docker-compose.yml&lt;/code&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;services:
  telegram-bot:
    image: ghcr.io/ham0mer/tgbot:latest
    container_name: telegram-bot
    restart: unless-stopped
    environment:
      - BOT_TOKEN=${BOT_TOKEN}
      - OWNER_ID=${OWNER_ID}
      - SUPABASE_URL=${SUPABASE_URL}
      - SUPABASE_KEY=${SUPABASE_KEY}
      - LOG_LEVEL=info
    volumes:
      - ./logs:/app/logs
    logging:
      driver: &quot;json-file&quot;
      options:
        max-size: &quot;10m&quot;
        max-file: &quot;3&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后启动：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker compose up -d
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;启动并查看日志&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;docker compose up -d &amp;amp;&amp;amp; docker compose logs -f
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;🔄 更新镜像&lt;/h2&gt;
&lt;h3&gt;更新到最新版本&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;docker compose pull &amp;amp;&amp;amp; docker compose down &amp;amp;&amp;amp; docker compose up -d &amp;amp;&amp;amp; docker compose logs -f
docker image prune
&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;使用说明&lt;/h1&gt;
&lt;h2&gt;用户使用&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;发送 &lt;code&gt;/start&lt;/code&gt; 获取验证码&lt;/li&gt;
&lt;li&gt;回复验证码完成验证&lt;/li&gt;
&lt;li&gt;验证后可正常发送消息&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;主人功能&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;回复用户&lt;/strong&gt;：直接回复转发的消息&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;拉黑用户&lt;/strong&gt;：回复用户消息并发送 &lt;code&gt;/block&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;解除拉黑&lt;/strong&gt;：回复用户消息并发送 &lt;code&gt;/unblock&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>Bark推送配置生成器</title><link>https://jk.sb/posts/bark-config/</link><guid isPermaLink="true">https://jk.sb/posts/bark-config/</guid><description>一键配置省时省力</description><pubDate>Sun, 09 Nov 2025 15:22:45 GMT</pubDate><content:encoded>&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;我是很喜欢使用这个软件的推送，但是每次新的推送都需要去打开官方文档去看配置参数，所有就有了这个项目！
&lt;a href=&quot;https://bark.jk.sb&quot;&gt;演示站&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;🔗 链接&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bark.day.app&quot;&gt;Bark 官网&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Finb/Bark&quot;&gt;Bark GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://apps.apple.com/cn/app/bark-customed-notifications/id1403753865&quot;&gt;APP Store&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Bark 推送配置生成器&lt;/h1&gt;
&lt;p&gt;一个简洁优雅的 Bark 推送配置工具,支持多种输出格式。&lt;/p&gt;
&lt;h2&gt;✨ 特性&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🎨 现代化界面设计,支持移动端&lt;/li&gt;
&lt;li&gt;📝 可视化配置所有 Bark 参数&lt;/li&gt;
&lt;li&gt;🔄 支持 GET URL、JSON、PHP、cURL 格式&lt;/li&gt;
&lt;li&gt;💾 本地保存和管理配置&lt;/li&gt;
&lt;li&gt;🧪 一键测试推送&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🚀 使用&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;用浏览器打开 &lt;code&gt;index.html&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;填写 Device Key (从 Bark APP 获取)&lt;/li&gt;
&lt;li&gt;配置推送参数并生成&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;📖 主要参数&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&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;title&lt;/td&gt;
&lt;td&gt;推送标题&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;body&lt;/td&gt;
&lt;td&gt;推送内容(必填)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;level&lt;/td&gt;
&lt;td&gt;推送级别: active/timeSensitive/passive/critical&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sound&lt;/td&gt;
&lt;td&gt;铃声名称&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;badge&lt;/td&gt;
&lt;td&gt;角标数字&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;group&lt;/td&gt;
&lt;td&gt;通知分组&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;icon&lt;/td&gt;
&lt;td&gt;自定义图标 URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;url&lt;/td&gt;
&lt;td&gt;点击跳转 URL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;🎯 示例&lt;/h2&gt;
&lt;h3&gt;GET URL&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;https://api.day.app/your_key/标题/内容?sound=minuet
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;JSON&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;{
  &quot;device_key&quot;: &quot;your_key&quot;,
  &quot;title&quot;: &quot;标题&quot;,
  &quot;body&quot;: &quot;内容&quot;,
  &quot;sound&quot;: &quot;minuet&quot;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;PHP&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;$array = array(
    &apos;title&apos;=&amp;gt;&apos;标题&apos;,
    &apos;body&apos;=&amp;gt;&apos;内容&apos;,
    &apos;sound&apos;=&amp;gt;&apos;minuet&apos;
);
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>[测评]搬瓦工洛杉矶MegaBox-Pro</title><link>https://jk.sb/posts/bwh-megabox-pro/</link><guid isPermaLink="true">https://jk.sb/posts/bwh-megabox-pro/</guid><description>刚刚看到瓦工美西联通加了9929线路，测试一下</description><pubDate>Sat, 01 Nov 2025 11:53:58 GMT</pubDate><content:encoded>&lt;p&gt;:::tip
刚刚看到瓦工美西联通加了9929线路，测试一下
:::&lt;/p&gt;
&lt;h1&gt;🎬IP质量&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;/IMG/bwh-megabox-pro/1.webp&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
&lt;h1&gt;🌐网络质量&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;/IMG/bwh-megabox-pro/2.webp&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
&lt;h1&gt;📍回程路由&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;/IMG/bwh-megabox-pro/3.webp&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>检测网络联通性&amp;generate_204服务汇总</title><link>https://jk.sb/posts/generate-204/</link><guid isPermaLink="true">https://jk.sb/posts/generate-204/</guid><description>generate_204服务汇总，检测网络联通性</description><pubDate>Mon, 27 Oct 2025 13:19:07 GMT</pubDate><content:encoded>&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;服务提供者&lt;/th&gt;
&lt;th&gt;链接&lt;/th&gt;
&lt;th&gt;大陆体验&lt;/th&gt;
&lt;th&gt;境外体验&lt;/th&gt;
&lt;th&gt;http/https&lt;/th&gt;
&lt;th&gt;IP Version&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;http://www.gstatic.com/generate_204&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;204/204&lt;/td&gt;
&lt;td&gt;4+6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;http://www.google-analytics.com/generate_204&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;204/204&lt;/td&gt;
&lt;td&gt;4+6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;http://www.google.com/generate_204&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;204/204&lt;/td&gt;
&lt;td&gt;4+6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;http://connectivitycheck.gstatic.com/generate_204&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;204/204&lt;/td&gt;
&lt;td&gt;4+6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple&lt;/td&gt;
&lt;td&gt;http://captive.apple.com&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;200/200&lt;/td&gt;
&lt;td&gt;4+6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apple🔥&lt;/td&gt;
&lt;td&gt;http://www.apple.com/library/test/success.html&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;200/200&lt;/td&gt;
&lt;td&gt;4+6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MicroSoft&lt;/td&gt;
&lt;td&gt;http://www.msftconnecttest.com/connecttest.txt&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;200/error&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloudflare&lt;/td&gt;
&lt;td&gt;http://cp.cloudflare.com/&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;204/204&lt;/td&gt;
&lt;td&gt;4+6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Firefox&lt;/td&gt;
&lt;td&gt;http://detectportal.firefox.com/success.txt&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;200/200&lt;/td&gt;
&lt;td&gt;4+6&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;体验目前仅进行粗略测试延迟，大概率实际不符，仅作参考。&lt;/p&gt;
</content:encoded></item><item><title>[测评]绿云东京Softbank</title><link>https://jk.sb/posts/greencloud-25d/</link><guid isPermaLink="true">https://jk.sb/posts/greencloud-25d/</guid><description>测评绿云东京Softbank三年付翻倍机器</description><pubDate>Mon, 20 Oct 2025 20:37:58 GMT</pubDate><content:encoded>&lt;p&gt;官网：&lt;a href=&quot;https://greencloudvps.com&quot;&gt;https://greencloudvps.com&lt;/a&gt;
:::tip
第一次入手这家的机器，具体型号是 &lt;code&gt;Budget KVM Sale - BudgetKVMJP-2 (Softbank)&lt;/code&gt; ，也不算是闪购鸡，因为我懒得抢看到这个有货就下单了三年，共计70刀。
:::&lt;/p&gt;
&lt;h2&gt;套餐&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;2 cores @ EPYC Rome CPU&lt;/li&gt;
&lt;li&gt;4096MB RAM  &lt;em&gt;&lt;strong&gt;# 三年付翻倍 8192MB RAM&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;35GB NVMe RAID-10 Hard drive&lt;/li&gt;
&lt;li&gt;1 IPv4&lt;/li&gt;
&lt;li&gt;/64 IPv6&lt;/li&gt;
&lt;li&gt;750GB Bandwidth  &lt;em&gt;&lt;strong&gt;# 三年付翻倍 1500GB Bandwidth&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;10Gbps Port&lt;/li&gt;
&lt;li&gt;Linux OS&lt;/li&gt;
&lt;li&gt;Tokyo, JP Softbank Line Location&lt;/li&gt;
&lt;li&gt;Virtfusion Control Panel&lt;/li&gt;
&lt;li&gt;1 Free Backup/Snapshot&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;测评&lt;/h2&gt;
&lt;p&gt;:::warning
这家限制CPU占用时间，谨慎选择吧。
:::&lt;/p&gt;
&lt;h3&gt;Yabs测试&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2025-04-20                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Mon Oct 20 08:50:19 PM CST 2025

Basic System Information:
---------------------------------
Uptime     : 0 days, 7 hours, 6 minutes
Processor  : AMD EPYC 7C13 64-Core Processor
CPU cores  : 2 @ 2000.000 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ✔ Enabled
RAM        : 7.7 GiB
Swap       : 512.0 MiB
Disk       : 34.9 GiB
Distro     : Debian GNU/Linux 12 (bookworm)
Kernel     : 6.1.0-40-amd64
VM Type    : KVM
IPv4/IPv6  : ✔ Online / ✔ Online

IPv6 Network Information:
---------------------------------
ISP        : Cat Networks K.K
ASN        : AS3258 xTom Japan Corporation
Host       : Cat Networks K.K
Location   : Tokyo, Tokyo (13)
Country    : Japan

fio Disk Speed Tests (Mixed R/W 50/50) (Partition /dev/vda3):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       | 193.63 MB/s  (48.4k) | 1.87 GB/s    (29.2k)
Write      | 194.14 MB/s  (48.5k) | 1.88 GB/s    (29.3k)
Total      | 387.78 MB/s  (96.9k) | 3.75 GB/s    (58.6k)
           |                      |                     
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       | 4.71 GB/s     (9.2k) | 5.47 GB/s     (5.3k)
Write      | 4.96 GB/s     (9.7k) | 5.83 GB/s     (5.6k)
Total      | 9.68 GB/s    (18.9k) | 11.30 GB/s   (11.0k)

iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed      | Ping           
-----           | -----                     | ----            | ----            | ----           
Clouvider       | London, UK (10G)          | 771 Mbits/sec   | 815 Mbits/sec   | 204 ms         
Eranium         | Amsterdam, NL (100G)      | 754 Mbits/sec   | 769 Mbits/sec   | 239 ms         
Uztelecom       | Tashkent, UZ (10G)        | busy            | 1.19 Gbits/sec  | --             
Leaseweb        | Singapore, SG (10G)       | 2.63 Gbits/sec  | 2.78 Gbits/sec  | 68.0 ms        
Clouvider       | Los Angeles, CA, US (10G) | 412 Mbits/sec   | 938 Mbits/sec   | 98.4 ms        
Leaseweb        | NYC, NY, US (10G)         | 1.04 Gbits/sec  | 1.05 Gbits/sec  | 143 ms         
Edgoo           | Sao Paulo, BR (1G)        | 396 Mbits/sec   | 485 Mbits/sec   | 266 ms         

iperf3 Network Speed Tests (IPv6):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed      | Ping           
-----           | -----                     | ----            | ----            | ----           
Clouvider       | London, UK (10G)          | busy            | 643 Mbits/sec   | 204 ms         
Eranium         | Amsterdam, NL (100G)      | 668 Mbits/sec   | 695 Mbits/sec   | 239 ms         
Uztelecom       | Tashkent, UZ (10G)        | busy            | 700 Mbits/sec   | 229 ms         
Leaseweb        | Singapore, SG (10G)       | 2.71 Gbits/sec  | 2.76 Gbits/sec  | 68.1 ms        
Clouvider       | Los Angeles, CA, US (10G) | 1.54 Gbits/sec  | 161 Mbits/sec   | 101 ms         
Leaseweb        | NYC, NY, US (10G)         | 1.26 Gbits/sec  | 1.25 Gbits/sec  | 143 ms         
Edgoo           | Sao Paulo, BR (1G)        | 579 Mbits/sec   | 609 Mbits/sec   | 265 ms         

Geekbench 5 Benchmark Test:
---------------------------------
Test            | Value                         
                |                               
Single Core     | 1085                          
Multi Core      | 1981                          
Full Test       | https://browser.geekbench.com/v5/cpu/23855411

Geekbench 6 Benchmark Test:
---------------------------------
Test            | Value                         
                |                               
Single Core     | 1438                          
Multi Core      | 2556                          
Full Test       | https://browser.geekbench.com/v6/cpu/14561868

YABS completed in 17 min 33 sec
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;三网回程路由测试&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;2025/10/20 21:07:53 正在测试三网回程路由...
国家: JP 城市: Tokyo 服务商: AS3258 xTom Japan Corporation
项目地址: https://github.com/zhanghanyun/backtrace
北京电信 219.141.140.10  测试超时
北京联通 202.106.195.68  联通4837 [普通线路]          
北京移动 221.179.155.161 移动CMI  [普通线路]          
上海电信 202.96.209.133  测试超时
上海联通 210.22.97.1     联通4837 [普通线路]          
上海移动 211.136.112.200 移动CMI  [普通线路]          
广州电信 58.60.188.222   电信163  [普通线路]          
广州联通 210.21.196.6    联通4837 [普通线路]          
广州移动 120.196.165.24  移动CMI  [普通线路]          
成都电信 61.139.2.69     测试超时
成都联通 119.6.6.6       联通4837 [普通线路]          
成都移动 211.137.96.205  移动CMI  [普通线路]          
2025/10/20 21:07:54 测试完成!
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;流媒体平台及游戏区域限制测试&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt; ** 正在测试IPv4解锁情况 
--------------------------------
 ** 您的网络为: ip (45.129.*.*) 


============[ Multination ]============
 Dazn:                  原生解锁        Yes (Region: JP)
 TikTok:                                Failed
 Disney+:               原生解锁        Yes (Region: JP)
 Netflix:               原生解锁        Yes (Region: JP)
 YouTube Premium:       原生解锁        Yes (Region: JP)
 Amazon Prime Video:    原生解锁        Yes (Region: JP)
 TVBAnywhere+:          原生解锁        Yes
 iQyi Oversea Region:   原生解锁        HK
 YouTube CDN:                           Tokyo 
 Netflix Preferred CDN:                 Tokyo  
 Spotify Registration:  原生解锁        Yes (Region: JP)
 Steam Currency:                        JPY
 ChatGPT:               原生解锁        Yes (Region: JP)
 Google Gemini:         原生解锁        Yes (Region: JPN)
 Bing Region:                           JP
 Wikipedia Editability:                 Yes
 Instagram Licensed Audio:              Failed
 ---Forum---
 Reddit:                                Yes
=======================================


 ** 正在测试IPv6解锁情况 
--------------------------------
 ** 您的网络为: ip (2a12:a304:4:*:*) 


============[ Multination ]============
 Dazn:                                  Failed (Network Connection)
 TikTok:                                Failed
 Disney+:               原生解锁        Yes (Region: JP)
 Netflix:               原生解锁        Yes (Region: JP)
 YouTube Premium:       原生解锁        Yes (Region: JP)
 Amazon Prime Video:                    Unsupported
 TVBAnywhere+:                          Failed (Network Connection)
 iQyi Oversea Region:                   Failed
 YouTube CDN:                           Tokyo 
 Netflix Preferred CDN:                 Tokyo  
 Spotify Registration:  原生解锁        Yes (Region: JP)
 Steam Currency:                        Failed (Network Connection)
 ChatGPT:                               Failed
 Google Gemini:         原生解锁        Yes (Region: JPN)
 Bing Region:                           JP
 Wikipedia Editability:                 Yes
 Instagram Licensed Audio:              Failed
 ---Forum---
 Reddit:                                Failed (Network Connection)
=======================================
本次测试已结束，感谢使用此脚本 
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>ClawCloud Run免费容器部署ASF云挂卡和TG机器人控制端</title><link>https://jk.sb/posts/claw-cloud-asf/</link><guid isPermaLink="true">https://jk.sb/posts/claw-cloud-asf/</guid><description>白嫖挂卡工具，随时随地控制ASF挂卡</description><pubDate>Sun, 19 Oct 2025 11:40:19 GMT</pubDate><content:encoded>&lt;h2&gt;ClawCloud Run 介绍&lt;/h2&gt;
&lt;p&gt;ClawCloud 是一家新加坡的主机服务商，最近推出了 ClawCloud Run 服务，这是一个集成在线开发、测试和生产环境的云开发平台。对于注册时长大于 180 天的 GitHub 用户，每个月提供免费的 5 美元余额。不限速的4刀HK VDS永远的神落幕了~~~&lt;/p&gt;
&lt;h2&gt;部署教程&lt;/h2&gt;
&lt;h3&gt;官网&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://run.claw.cloud/&quot;&gt;ClawCloud Run 官网&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;创建应用&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Application Name: 任意填写&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Image: justarchi/archisteamfarm&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Usage: CPU 选择 0.1，内存推荐 256M&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Network: Container Port 输入 1242，并勾选 Enable Internet Access&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Local Storage: 点击 Add，Mount Path 输入 /app/config。如果后期需要安装插件，也要同时挂载 /app/plugins。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;进入控制台，依次点击 App Launchpad -&amp;gt; Create App，按以下说明填写：&lt;/p&gt;
&lt;p&gt;填写完成后点击 Deploy Application。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/IMG/claw-cloud-asf/01.png&quot; alt=&quot;clawcloud-run-create-app.png&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;上传配置文件&lt;/h3&gt;
&lt;p&gt;在电脑新建一个文件，命名为 ASF.json。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
  &quot;Headless&quot;: true,
  &quot;IPCPassword&quot;: &quot;xxxxx&quot;,
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;新建一个文件，命名为 IPC.config。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
  &quot;Kestrel&quot;: {
    &quot;Endpoints&quot;: {
      &quot;HTTP&quot; : {
        &quot;Url&quot; : &quot;http://*:1242&quot;
      }
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;将两个文件上传到&lt;code&gt;/app/config&lt;/code&gt;目录下。重启容器，浏览器访问Public Address 可以看到控制页面。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/IMG/claw-cloud-asf/02.png&quot; alt=&quot;clawcloud-run-ipc.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;填入上方的IPCPassword，即可登录页面。&lt;/p&gt;
&lt;p&gt;新建机器人，参考官方文档&lt;a href=&quot;https://github.com/JustArchiNET/ArchiSteamFarm/wiki&quot;&gt;创建机器人&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;TG 机器人&lt;/h2&gt;
&lt;h3&gt;修改Public Address&lt;/h3&gt;
&lt;p&gt;将https修改为tcp，价格会达到每天0.09刀，每月2.7刀
&lt;img src=&quot;/IMG/claw-cloud-asf/03.png&quot; alt=&quot;clawcloud-run-tcp.png&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;配置TG机器人&lt;/h3&gt;
&lt;p&gt;机器需要的配置文件&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ASF_IPC_HOST=修改后的TCP Public Address
ASF_IPC_PORT=修改后的TCP端口号
ASF_IPC_PASSWORD=xxxx
TELEGRAM_BOT_TOKEN=机器人token
TELEGRAM_USER_ALIAS=@你的TG用户名
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;创建应用&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Application Name: 任意填写&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Image: ghcr.io/dmcallejo/asfbot:latest&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Usage: CPU 选择 0.1，内存推荐 256M&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Network: 默认&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Environment Variables: 点击 Add，分别填写上方的配置项&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;点击部署应用，等待应用启动。&lt;/p&gt;
&lt;h3&gt;完美使用&lt;/h3&gt;
&lt;p&gt;此时就可以在TG控制ASF机器人了，关于命令，需要去ASF官方文档查看。&lt;/p&gt;
</content:encoded></item><item><title>给fuwari主题添加置顶功能</title><link>https://jk.sb/posts/fuwari-pinned/</link><guid isPermaLink="true">https://jk.sb/posts/fuwari-pinned/</guid><description>本教程详细介绍如何为Fuwari博客主题添加文章置顶功能，包括修改排序逻辑、配置文件和显示标签的完整步骤。</description><pubDate>Wed, 08 Oct 2025 21:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;修改工具文件&lt;/h2&gt;
&lt;h3&gt;修改排序逻辑&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;src\utils\content-utils.ts&lt;/code&gt;,编辑文件，将 &lt;code&gt;getSortedPosts&lt;/code&gt; 函数中的排序逻辑修改为：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;export async function getSortedPosts() {
	const allBlogPosts = await getCollection(&quot;posts&quot;, ({ data }) =&amp;gt; {
		return import.meta.env.PROD ? data.draft !== true : true;
	});
	const sorted = allBlogPosts.sort((a, b) =&amp;gt; {
		// 如果一个是置顶一个不是置顶，置顶的排在前面
		if (a.data.pinned !== b.data.pinned) {
			return a.data.pinned ? -1 : 1;
		}
		// 都是置顶或都不是置顶，按发布日期时间排序（包含小时分钟秒）
		const dateA = new Date(a.data.published);
		const dateB = new Date(b.data.published);
		return dateA &amp;gt; dateB ? -1 : 1;
	});

	for (let i = 1; i &amp;lt; sorted.length; i++) {
		sorted[i].data.nextSlug = sorted[i - 1].slug;
		sorted[i].data.nextTitle = sorted[i - 1].data.title;
	}
	for (let i = 0; i &amp;lt; sorted.length - 1; i++) {
		sorted[i].data.prevSlug = sorted[i + 1].slug;
		sorted[i].data.prevTitle = sorted[i + 1].data.title;
	}
	
	return sorted;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;修改文章配置文件&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;src\content\config.ts&lt;/code&gt;,在&lt;code&gt;lang&lt;/code&gt;字段后增加 &lt;code&gt;pinned&lt;/code&gt; 字段&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pinned: z.boolean().optional().default(false),
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;修改置顶显示标签&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;src\components\PostCard.astro&lt;/code&gt;,此文件需要修改两处。&lt;/p&gt;
&lt;h4&gt;第一处：添加置顶标签判断&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;const isPinned = entry.data.pinned === true;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;第二处：添加置顶标签显示&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;{isPinned &amp;amp;&amp;amp; (
    &amp;lt;span class=&quot;inline-flex items-center mr-2 px-2 py-0.5 text-sm font-medium bg-[oklch(97%_0.1_var(--hue))] dark:bg-[oklch(30%_0.1_var(--hue))] text-[oklch(55%_0.1_var(--hue))] dark:text-[oklch(80%_0.1_var(--hue))] rounded&quot;&amp;gt;
        &amp;lt;Icon name=&quot;material-symbols:push-pin&quot; class=&quot;mr-1 text-base&quot; /&amp;gt; 置顶
    &amp;lt;/span&amp;gt;
)}
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>给fuwari主题添加giscus评论区</title><link>https://jk.sb/posts/giscus/</link><guid isPermaLink="true">https://jk.sb/posts/giscus/</guid><description>本教程详细介绍如何为Fuwari博客主题集成giscus评论系统，包括GitHub仓库配置、giscus设置、创建评论组件以及在文章页面中引入评论区的完整步骤。</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;giscus简介&lt;/h2&gt;
&lt;p&gt;giscus 加载时，会使用 GitHub Discussions 搜索 API 根据选定的映射方式（如 &lt;code&gt;URL&lt;/code&gt;、&lt;code&gt;pathname&lt;/code&gt;、&lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; 等）来查找与当前页面关联的 discussion。如果找不到匹配的 discussion，giscus bot 就会在第一次有人留下评论或回应时自动创建一个 discussion。&lt;/p&gt;
&lt;h2&gt;配置Github&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;该仓库是&lt;a href=&quot;https://docs.github.com/en/github/administering-a-repository/managing-repository-settings/setting-repository-visibility#making-a-repository-public&quot;&gt;公开&lt;/a&gt;的，否则访客将无法查看 discussion。&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/apps/giscus&quot;&gt;giscus app&lt;/a&gt; 已安装，否则访客将无法评论和回应。&lt;/li&gt;
&lt;li&gt;Discussions 功能已在你的&lt;a href=&quot;https://docs.github.com/en/github/administering-a-repository/managing-repository-settings/enabling-or-disabling-github-discussions-for-a-repository&quot;&gt;仓库中启用&lt;/a&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;配置giscus&lt;/h2&gt;
&lt;p&gt;打开&lt;a href=&quot;https://giscus.app/&quot;&gt;giscus官网&lt;/a&gt;，填入仓库地址。
自动生成下面的配置文件&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script src=&quot;https://giscus.app/client.js&quot;
        data-repo=&quot;Ham0mer/giscus-fuwari&quot;
        data-repo-id=&quot;xxxx&quot;
        data-category=&quot;General&quot;
        data-category-id=&quot;xxxx&quot;
        data-mapping=&quot;pathname&quot;
        data-strict=&quot;0&quot;
        data-reactions-enabled=&quot;1&quot;
        data-emit-metadata=&quot;0&quot;
        data-input-position=&quot;bottom&quot;
        data-theme=&quot;preferred_color_scheme&quot;
        data-lang=&quot;zh-CN&quot;
        crossorigin=&quot;anonymous&quot;
        async&amp;gt;
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;创建/修改fuwari文件&lt;/h2&gt;
&lt;h3&gt;创建GiscusComment&lt;/h3&gt;
&lt;p&gt;在 &lt;code&gt;src\components\misc&lt;/code&gt; 目录下面创建 &lt;code&gt;GiscusComment.astro&lt;/code&gt;,将下方代码粘贴进去不需要修改。
&lt;img src=&quot;https://img.cii.li/v2/K9GsJDL.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
interface Props {
  repo: string;
  repoId: string;
  category: string;
  categoryId: string;
  mapping?: string;
  reactionsEnabled?: boolean;
  emitMetadata?: boolean;
  inputPosition?: &apos;top&apos; | &apos;bottom&apos;;
  lang?: string;
}

const {
  repo,
  repoId,
  category,
  categoryId,
  mapping = &apos;pathname&apos;,
  reactionsEnabled = true,
  emitMetadata = false,
  inputPosition = &apos;bottom&apos;,
  lang = &apos;zh-CN&apos;
} = Astro.props;
---

&amp;lt;div id=&quot;giscus-container&quot;&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;script define:vars={{ repo, repoId, category, categoryId, mapping, reactionsEnabled, emitMetadata, inputPosition, lang }}&amp;gt;
  function loadGiscus() {
    const container = document.getElementById(&apos;giscus-container&apos;);
    if (!container) return;

    // 获取当前主题
    const isDark = document.documentElement.classList.contains(&apos;dark&apos;);
    const theme = isDark ? &apos;dark&apos; : &apos;light&apos;;

    // 创建Giscus脚本
    const script = document.createElement(&apos;script&apos;);
    script.src = &apos;https://giscus.app/client.js&apos;;
    script.setAttribute(&apos;data-repo&apos;, repo);
    script.setAttribute(&apos;data-repo-id&apos;, repoId);
    script.setAttribute(&apos;data-category&apos;, category);
    script.setAttribute(&apos;data-category-id&apos;, categoryId);
    script.setAttribute(&apos;data-mapping&apos;, mapping);
    script.setAttribute(&apos;data-strict&apos;, &apos;0&apos;);
    script.setAttribute(&apos;data-reactions-enabled&apos;, reactionsEnabled ? &apos;1&apos; : &apos;0&apos;);
    script.setAttribute(&apos;data-emit-metadata&apos;, emitMetadata ? &apos;1&apos; : &apos;0&apos;);
    script.setAttribute(&apos;data-input-position&apos;, inputPosition);
    script.setAttribute(&apos;data-theme&apos;, theme);
    script.setAttribute(&apos;data-lang&apos;, lang);
    script.setAttribute(&apos;data-loading&apos;, &apos;lazy&apos;);
    script.crossOrigin = &apos;anonymous&apos;;
    script.async = true;

    container.appendChild(script);
  }

  // 监听主题变化
  function updateGiscusTheme() {
    const giscusFrame = document.querySelector(&apos;iframe[src*=&quot;giscus&quot;]&apos;);
    if (giscusFrame) {
      const isDark = document.documentElement.classList.contains(&apos;dark&apos;);
      const theme = isDark ? &apos;dark&apos; : &apos;light&apos;;

      giscusFrame.contentWindow.postMessage({
        giscus: {
          setConfig: {
            theme: theme
          }
        }
      }, &apos;https://giscus.app&apos;);
    }
  }

  // 监听DOM变化来检测主题切换
  const observer = new MutationObserver((mutations) =&amp;gt; {
    mutations.forEach((mutation) =&amp;gt; {
      if (mutation.type === &apos;attributes&apos; &amp;amp;&amp;amp; mutation.attributeName === &apos;class&apos;) {
        updateGiscusTheme();
      }
    });
  });

  // 页面加载时初始化
  if (document.readyState === &apos;loading&apos;) {
    document.addEventListener(&apos;DOMContentLoaded&apos;, loadGiscus);
  } else {
    loadGiscus();
  }

  // 开始观察主题变化
  observer.observe(document.documentElement, {
    attributes: true,
    attributeFilter: [&apos;class&apos;]
  });
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;通用引入方法&lt;/h3&gt;
&lt;p&gt;例如我准备在文章页面引入评论，编辑 &lt;code&gt;src\pages\posts\[...slug].astro&lt;/code&gt; 文件&lt;/p&gt;
&lt;p&gt;头部引入刚刚创建的文件&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;import GiscusComment from &quot;../../components/misc/GiscusComment.astro&quot;;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在下方找到你想放评论区的位置，粘贴下方代码&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;GiscusComment repo=&quot;csl0p/jksb&quot; repoId=&quot;xxx&quot; category=&quot;Announcements&quot; categoryId=&quot;xxx&quot; /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Steam Web API简易使用介绍</title><link>https://jk.sb/posts/steamapi/</link><guid isPermaLink="true">https://jk.sb/posts/steamapi/</guid><description>Steam Web API使用方法详解，包含接口格式、参数说明及常用功能示例</description><pubDate>Tue, 07 Oct 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;最近想更新下关于页面的Steam展示组件，记录一下Steam Web API的使用方法&lt;/p&gt;
&lt;h3&gt;勋章&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;https://store.steampowered.com/replay/76561198887857717/2024&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;便捷接口&lt;/h2&gt;
&lt;h3&gt;个人信息&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;https://o.jk.sb/steam/profile/76561198887857717&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;游戏库存&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;https://o.jk.sb/steam/games/76561198887857717&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;最近游玩&lt;/h3&gt;
&lt;p&gt;count 为可选参数如果count为空则默认为5.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;https://o.jk.sb/steam/recentlyplayed/76561198887857717&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;最近游玩（指定数量）&lt;/h3&gt;
&lt;p&gt;count = 3&lt;/p&gt;
&lt;p&gt;&lt;code&gt;https://o.jk.sb/steam/recentlyplayed/76561198887857717/3&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;游戏成就&lt;/h3&gt;
&lt;p&gt;appid 为游戏或软件的ID。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;https://o.jk.sb/steam/achievements/76561198887857717/275850&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;游戏封面&lt;/h3&gt;
&lt;p&gt;base64 编码的游戏封面图片。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;https://o.jk.sb/steam/imageurl2base64/275850&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;接口格式&lt;/h2&gt;
&lt;p&gt;Steam Web API的统一形式如下：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;http(s)://api.steampowered.com/$interface/$method/v$version/?appid=$appid&amp;amp;key=$key&amp;amp;steamids=$userid&amp;amp;format=$format&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;http与https都能使用。但是体感前者更快。
以下是参数用法：&lt;/p&gt;
&lt;h3&gt;interface&lt;/h3&gt;
&lt;p&gt;Steam Web API太多，接口可以看做是API的分类。&lt;/p&gt;
&lt;h3&gt;method&lt;/h3&gt;
&lt;p&gt;方法即具体API功能，想要的功能可以在文档里查到。下文会列举一些常用API。&lt;/p&gt;
&lt;h3&gt;version&lt;/h3&gt;
&lt;p&gt;大部分API的版本是v1，少数存在v2。格式写v1与v0001均可。&lt;/p&gt;
&lt;p&gt;appid
有些功能需要指定游戏ID，可以在商店页面或SteamDB查到。下文用000000代替。&lt;/p&gt;
&lt;h3&gt;key&lt;/h3&gt;
&lt;p&gt;使用Steam Web API需要注册一个密钥。打开密钥申请页面(&lt;a href=&quot;https://steamcommunity.com/dev/apikey&quot;&gt;https://steamcommunity.com/dev/apikey&lt;/a&gt;)，登录之后按提示操作可以获取自己的密钥，下文用XXXXXX代替。&lt;/p&gt;
&lt;h3&gt;steamids&lt;/h3&gt;
&lt;p&gt;填写自己的64位ID。不知道可以去SteamDB(&lt;a href=&quot;https://steamdb.info/calculator/&quot;&gt;https://steamdb.info/calculator/&lt;/a&gt;)查询。用Steam账号登录或输入社区昵称即可查询。下文用123456代替。&lt;/p&gt;
&lt;h3&gt;format&lt;/h3&gt;
&lt;p&gt;获取的数据形式有3种可选：
&lt;code&gt;json&lt;/code&gt;：缺省值。获取JSON格式数据。
&lt;code&gt;xml&lt;/code&gt;：获取XML格式数据。
&lt;code&gt;vdf&lt;/code&gt;：获取Valve的数据格式。这个是阀门公司自己的文件格式，具体介绍见官方文档。&lt;/p&gt;
&lt;h2&gt;常用API&lt;/h2&gt;
&lt;p&gt;使用之前要公开社区信息，否则获取的数据不正常。不同的密钥可以访问的API不同。目前我只知道有开发者与玩家之别，其他还不知道。自己可以用的API可以从以下接口查询：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;http://api.steampowered.com/ISteamWebAPIUtil/GetSupportedAPIList/v1/?key=XXXXXX&amp;amp;steamids=123456&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;其中有该key可用的所有API信息。包括interface、method、version和描述等。&lt;/p&gt;
&lt;h3&gt;用户信息&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v2/?key=XXXXXX&amp;amp;steamids=123456&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;其实v1和v2获取的信息一样。获取昵称、头像、在线状态等基础数据。&lt;/p&gt;
&lt;h3&gt;游戏库存&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http://api.steampowered.com/IPlayerService/GetOwnedGames/v1/?key=XXXXXX&amp;amp;steamid=123456&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取库存总数与所有库存内容。* Steam曾经清理过一些低质量游戏，这些游戏不计入游戏总数，但在该接口中是计入并列出的。&lt;/p&gt;
&lt;h3&gt;最近游玩&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http://api.steampowered.com/IPlayerService/GetRecentlyPlayedGames/v1/?key=XXXXXX&amp;amp;steamid=123456&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取两周内的使用信息。包括产品名称、ID、图标、图片和游玩时间等内容。与Steam社区主页下方的最新动态一样。最后游玩的游戏会排在最前面。&lt;/p&gt;
&lt;h3&gt;使用时间&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http://api.steampowered.com/IPlayerService/ClientGetLastPlayedTimes/v1/?key=XXXXXX&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取所有产品的使用时间。包括总时间，最近使用的时间（两周），在windows、linux、mac等平台分别的使用时间。&lt;/p&gt;
&lt;h3&gt;社区等级&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http://api.steampowered.com/IPlayerService/GetSteamLevel/v1/?key=XXXXXX&amp;amp;steamid=123456&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取社区等级。没错，只能获取等级。&lt;/p&gt;
&lt;h3&gt;好友列表&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http://api.steampowered.com/ISteamUser/GetFriendList/v1/?key=XXXXXX&amp;amp;steamid=123456&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取好友列表与成为好友的时间。&lt;/p&gt;
&lt;h3&gt;组列表&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http://api.steampowered.com/ISteamUser/GetUserGroupList/v1/?key=XXXXXX&amp;amp;steamid=123456&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取加入的组列表。&lt;/p&gt;
&lt;h3&gt;徽章列表&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http://api.steampowered.com/IPlayerService/GetBadges/v1/?key=XXXXXX&amp;amp;steamid=123456&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取所有获得的徽章的详细信息。&lt;/p&gt;
&lt;h3&gt;封禁记录&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http://api.steampowered.com/ISteamUser/GetPlayerBans/v1/?key=XXXXXX&amp;amp;steamids=123456&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取VAC封禁信息。&lt;/p&gt;
&lt;h3&gt;成就信息&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;http://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/v1/?key=XXXXXX&amp;amp;steamid=123456&amp;amp;appid=000000&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取指定游戏或软件的成就信息。必须指定产品ID才能获取信息。&lt;/p&gt;
&lt;h3&gt;游戏图片&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;https://shared.st.dl.eccdnx.com/store_item_assets/steam/apps/{appid}/header.jpg&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取游戏或软件的图片。{appid}为产品ID。&lt;/p&gt;
</content:encoded></item><item><title>Docker安装ASF和TGbot</title><link>https://jk.sb/posts/asf-install/</link><guid isPermaLink="true">https://jk.sb/posts/asf-install/</guid><description>ASF 是一个帮助您轻松获得卡牌掉落的程序</description><pubDate>Sun, 05 Oct 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;安装ASF&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;一键安装&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;docker run -p 1242:1242 -v /opt/ASF/config:/app/config -v /opt/ASF/plugins:/app/plugins --name asf --pull always justarchi/archisteamfarm&lt;/code&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;配置文件 ASF.json&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;{
  &quot;IPCPassword&quot;: &quot;&quot;, #使用webUI需要设置密码
  &quot;SteamOwnerID&quot;: 723457432 # 您的 Steam ID 可填可不填
}
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;配置文件 IPC.config&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;{
  &quot;Kestrel&quot;: {
    &quot;Endpoints&quot;: {
      &quot;HTTP&quot; : {
        &quot;Url&quot; : &quot;http://*:1242&quot;
      }
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;重启ASF 访问 http://localhost:1242&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;安装TGbot&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;一键安装&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;docker run -d \
  --name asfbot \
  --restart unless-stopped \
  --network host \
  -e ASF_IPC_HOST=127.0.0.1 \
  -e ASF_IPC_PORT=1242 \
  -e ASF_IPC_PASSWORD=&quot;&quot; \
  -e TELEGRAM_BOT_TOKEN=&quot;你的Bot Token&quot; \
  -e TELEGRAM_USER_ALIAS=&quot;@你的Telegram用户名&quot; \
  ghcr.io/dmcallejo/asfbot`
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;国内可选代理&lt;code&gt;TELEGRAM_PROXY=&quot;http://你的代理IP:你的代理端口&quot;&lt;/code&gt;&lt;/p&gt;
</content:encoded></item><item><title>debian开启root用户ssh登录</title><link>https://jk.sb/posts/debian-root-ssh/</link><guid isPermaLink="true">https://jk.sb/posts/debian-root-ssh/</guid><description>一个用于在Debian系统中开启root用户SSH登录的脚本教程，包括设置root密码、修改SSH配置和重启SSH服务等步骤。</description><pubDate>Sun, 07 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;pre&gt;&lt;code&gt;#!/bin/bash
set -e

# 设置 root 密码
echo &quot;请输入新的 root 密码：&quot;
passwd root

# 修改 SSH 配置文件
SSHD_CONFIG=&quot;/etc/ssh/sshd_config&quot;

# 备份配置文件
cp $SSHD_CONFIG ${SSHD_CONFIG}.bak.$(date +%F-%T)

# 开启 root 登录
sed -i &apos;s/^#\?PermitRootLogin.*/PermitRootLogin yes/&apos; $SSHD_CONFIG
sed -i &apos;s/^#\?PasswordAuthentication.*/PasswordAuthentication yes/&apos; $SSHD_CONFIG

# 重启 SSH 服务
if command -v systemctl &amp;amp;&amp;gt;/dev/null; then
    systemctl restart ssh || systemctl restart sshd
else
    service ssh restart || service sshd restart
fi

echo &quot;✅ Root SSH 登录已开启！&quot;
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Office 365管理员</title><link>https://jk.sb/posts/office/</link><guid isPermaLink="true">https://jk.sb/posts/office/</guid><description>Office 365管理员常用配置链接汇总</description><pubDate>Sat, 06 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h3&gt;Office365管理中心:&lt;/h3&gt;
&lt;p&gt;https://admin.microsoft.com/AdminPortal/Home#/homepage&lt;/p&gt;
&lt;h3&gt;验证&lt;/h3&gt;
&lt;p&gt;许可数量验证：
https://admin.microsoft.com/AdminPortal/Home#/licenses&lt;/p&gt;
&lt;h3&gt;安全配置&lt;/h3&gt;
&lt;p&gt;备用电话和邮箱配置:
https://portal.office.com/account/#personalinfo&lt;/p&gt;
&lt;h3&gt;密码修改&lt;/h3&gt;
&lt;p&gt;https://portal.office.com/account/#security&lt;/p&gt;
&lt;h3&gt;双重验证相关配置&lt;/h3&gt;
&lt;p&gt;https://account.activedirectory.windowsazure.com/proofup.aspx
https://account.activedirectory.windowsazure.com/passwordreset/Register.aspx&lt;/p&gt;
&lt;h3&gt;个性化配置&lt;/h3&gt;
&lt;p&gt;组织信息（如公司名、等联系方式等）配置：
https://admin.microsoft.com/AdminPortal/Home#/companyprofile&lt;/p&gt;
&lt;p&gt;域名配置：
https://admin.microsoft.com/AdminPortal/Home#/Domains&lt;/p&gt;
&lt;p&gt;默认的初始域不可删除，但可在添加其它域名后取消主域设置，并在用户管理中将用户修改为新域名&lt;/p&gt;
&lt;h3&gt;使用配置&lt;/h3&gt;
&lt;p&gt;Onedrive默认容量配置：
https://admin.onedrive.com/?v=StorageSettings&lt;/p&gt;
&lt;p&gt;密码过期时间配置：
https://admin.microsoft.com/AdminPortal/Home#/settings/security&lt;/p&gt;
&lt;h3&gt;开号&lt;/h3&gt;
&lt;p&gt;https://admin.microsoft.com/AdminPortal/Home#/users&lt;/p&gt;
&lt;p&gt;最简单和常用的方法就是直接去用户管理这里直接手动创建账号；需要大量跑号时，建议使用脚本批量跑号，一万个大概一个多小时能跑完；&lt;/p&gt;
&lt;h3&gt;Azure Active Directory管理中心&lt;/h3&gt;
&lt;p&gt;https://aad.portal.azure.com/&lt;/p&gt;
&lt;p&gt;除了office365管理中心可以进行设置外，Azure Active Directory管理中心亦有更多高级管理功能可供设置&lt;/p&gt;
&lt;h3&gt;用户自助找回密码配置&lt;/h3&gt;
&lt;p&gt;https://aad.portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/PasswordReset&lt;/p&gt;
</content:encoded></item><item><title>qBittorrent</title><link>https://jk.sb/posts/play-pt/</link><guid isPermaLink="true">https://jk.sb/posts/play-pt/</guid><description>PT下载工具及Seedbox一键安装脚本配置指南</description><pubDate>Sat, 06 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;Seedbox Installation Script&lt;/h1&gt;
&lt;h2&gt;用法&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;bash &amp;lt;(wget -qO- https://raw.githubusercontent.com/jerry048/Dedicated-Seedbox/main/Install.sh) -u &amp;lt;用户名称&amp;gt; -p &amp;lt;密码&amp;gt; -c &amp;lt;缓存大小(单位:MiB)&amp;gt; -q &amp;lt;qBittorrent 版本&amp;gt; -l &amp;lt;libtorrent 版本&amp;gt; -b -v -r -3 -x -o&lt;/code&gt;&lt;/p&gt;
&lt;h4&gt;Options&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;1. -u: 用户名称
2. -p: 密码
3. -c: qBitorrent 的缓存大小
4. -q: qBittorrent 版本
5. -l: libtorrent 版本
6. -b: 安装autobrr
7. -v: 安装vertex
8. -r: 安装 autoremove-torrents
9. -3: 启动 BBR V3
10.-x: 启动 BBRx
11.-o: 自定义端口
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;范例&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;bash &amp;lt;(wget -qO- https://raw.githubusercontent.com/jerry048/Dedicated-Seedbox/main/Install.sh) -u jerry048 -p 1LDw39VOgors -c 3072 -q 4.3.9 -l v1.2.19 -v -x&lt;/code&gt;&lt;/p&gt;
&lt;h5&gt;解释&lt;/h5&gt;
&lt;pre&gt;&lt;code&gt;1. 用户名称 是 jerry048
2. 密码 是 1LDw39VOgors
3. 缓存大小 是 3GB
4. 安装 qBittorrent 4.3.9 - libtorrent-v1.2.19
6. 安装 vertex
7. 启动 BBRx
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;支持平台&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;1. 系统
	1. Debian 10+
	2. Ubuntu 20.04+

2. CPU 架构
	1. x86_64
	2. ARM64
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;功能&lt;/h2&gt;
&lt;h6&gt;1. 盒子环境&lt;/h6&gt;
&lt;pre&gt;&lt;code&gt;1.qBittorrent
2.autobrr
3.vertex
4.autoremove-torrents
&lt;/code&gt;&lt;/pre&gt;
&lt;h6&gt;2. 优化&lt;/h6&gt;
&lt;pre&gt;&lt;code&gt;处理器优化
网络优化
内核参数调配
硬盘优化
BBR V3 或 BBRx
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;进阶优化备注&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;缓存大小应该设置在机器内存大小的 1/4 左右. 如果你使用的是qBittorrent 4.3.x, 你需要考虑到内存溢出的问题并且设置缓存大小在机器内存大小的 1/8.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;异步 I/O 线程数的基础设置是 4， 这设置对HDD比较友好. 如果你使用的是SSD甚至是NVMe的话, 你可以调整此参数到 8 甚至到 16.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在qBittorrent 4.3.x 的话，你可以在高级选项栏目中更改此项设置.&lt;/li&gt;
&lt;li&gt;在qBittorrent 4.1.x 的话, 你可以在 /home/$username/.config/qBittorrent/qBittorrent.conf 里的 [BitTorrent] 栏目下加入 &lt;code&gt;Session\AsyncIOThreadsCount=8&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;请在修改前关闭qBittorrent&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;在Deluge 的话，你可以通过&lt;a href=&quot;https://github.com/ratanakvlun/deluge-ltconfig/releases/tag/v0.3.1&quot;&gt;ltconfig&lt;/a&gt;更改此项设置
&lt;ul&gt;
&lt;li&gt;aio_threads=8&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在一些 I/O 较差的机器，send_buffer_low_watermark, send_buffer_watermark &amp;amp; send_buffer_watermark_factor 这三项设置应该调低&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在qBittorrent 4.3.x 的话，你可以在高级选项栏目中更改此项设置.&lt;/li&gt;
&lt;li&gt;在qBittorrent 4.1.x 的话，你可以在 /home/$username/.config/qBittorrent/qBittorrent.conf 里的 [BitTorrent] 栏目下加入&lt;code&gt;Session\SendBufferWatermark=5120&lt;/code&gt;, &lt;code&gt;Session\SendBufferLowWatermark=1024&lt;/code&gt;和 &lt;code&gt;ession\SendBufferWatermarkFactor=150&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;请在修改前关闭qBittorrent&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;在Deluge 的话，你可以通过&lt;a href=&quot;https://github.com/ratanakvlun/deluge-ltconfig/releases/tag/v0.3.1&quot;&gt;ltconfig&lt;/a&gt;更改此项设置
&lt;ul&gt;
&lt;li&gt;send_buffer_low_watermark=1048576&lt;/li&gt;
&lt;li&gt;send_buffer_watermark=5242880&lt;/li&gt;
&lt;li&gt;send_buffer_watermark_factor=150&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在一些 CPU 较差的机器，tick_internal 应该调高来节省CPU指令周期&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;qBittorrent 暂时还没为修改这设置&lt;/li&gt;
&lt;li&gt;在Deluge 的话，你可以通过&lt;a href=&quot;https://github.com/ratanakvlun/deluge-ltconfig/releases/tag/v0.3.1&quot;&gt;ltconfig&lt;/a&gt;更改此项设置
&lt;ul&gt;
&lt;li&gt;tick_interval=250&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在/etc/sysctl.conf 设置的 TCP 缓存大小对于一些低端机器来说可能会太大。 请根据情况更改.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在 /etc/sysctl.conf 文档中也能找到别的优化备注&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;文件系统的话, 本人强烈推荐使用 XFS&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>邮件服务器命令</title><link>https://jk.sb/posts/maddy-mail/</link><guid isPermaLink="true">https://jk.sb/posts/maddy-mail/</guid><description>maddy邮件服务器的基本操作命令指南，包括创建邮箱用户、设置密码、创建存储账户、查看账户列表、管理邮箱分类以及测试邮件接收等容器环境下的常用操作。</description><pubDate>Sat, 06 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;创建邮箱用户&lt;/p&gt;
&lt;p&gt;下面命令均在容器终端运行 &lt;code&gt;docker exec -it 1Panel-maddy-mail-1cQP sh&lt;/code&gt;（这里maddy为容器名称）&lt;/p&gt;
&lt;p&gt;创建登录账户，运行此命令后会让设置密码&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;maddy creds create admin@example.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;创建存储账户&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;maddy imap-acct create admin@example.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可以查看账户列表&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;maddy creds list
maddy imap-acct list
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查看账户下的邮箱分类&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;maddy imap-mboxes list admin@example.com
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;测试收信并在客户端上面配置
使用其他邮箱如QQ邮箱、谷歌邮箱向你上面创建的&lt;code&gt;admin@example.com&lt;/code&gt;发送邮件，然后回到容器终端运行命令查看收件箱。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;maddy imap-msgs list admin@example.com INBOX
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item></channel></rss>