🔄 卡若AI 同步 2026-02-22 05:57 | 更新:金仓、水桥平台对接、运营中枢工作台 | 排除 >20MB: 5 个

This commit is contained in:
2026-02-22 05:58:00 +08:00
parent f63045803a
commit 403a3cceaa
6 changed files with 103 additions and 10 deletions

View File

@@ -77,7 +77,21 @@ Host kr-baota
---
## 四、终极备选:宝塔面板终端
## 四、防封禁·一次配置永久有效
**核心**:将本机 IP 加入 fail2ban 白名单,今后连接不再触发封禁。
| 方式 | 何时用 | 命令 |
|------|--------|------|
| **A. SSH 可用时** | 能连上后立刻做 | `bash scripts/宝塔_永久白名单fail2ban_终端执行.sh 140.245.37.56`IP 换成你的) |
| **B. 腾讯云重启** | SSH 完全不通时 | `python3 scripts/腾讯云_宝塔服务器重启.py`(重启清空封禁,等 23 分钟再连) |
| **C. 宝塔终端** | 重启后仍不通 | 登录面板 → 终端 → 粘贴执行 `scripts/宝塔_永久白名单fail2ban_终端执行.sh` 内容 |
建议:重启解封后,**第一时间**执行 A 或 C将当前 IP 加入白名单。
---
## 五、终极备选:宝塔面板终端
**无需 SSH**,在浏览器中完成操作:
@@ -104,7 +118,19 @@ bash "01_卡资/金仓_存储备份/服务器管理/scripts/kr宝塔_SS
"01_卡资/金仓_存储备份/服务器管理/scripts/kr宝塔_node项目批量修复.py"
```
## 、IP 封禁处理(多方案 + 优化命令)
## 、IP 封禁处理(多方案 + 优化命令)
### 6.0 腾讯云 TAT 解封(免 SSH 顶配)
用腾讯云 SecretId/SecretKey 在 kr宝塔 上执行解封 + Node 批量启动,**无需 SSH**。
```bash
cd "/Users/karuo/Documents/个人/卡若AI"
./01_卡资/金仓_存储备份/服务器管理/scripts/.venv_tx/bin/python \
"01_卡资/金仓_存储备份/服务器管理/scripts/腾讯云_TAT_解封SSH并批量启动Node.py" 211.156.92.72
```
凭证从 `00_账号与API索引.md` 读取。将 `211.156.92.72` 换成你的公网 IP。依赖`pip install tencentcloud-sdk-python-tat`
### 6.1 腾讯云 API 重启(解除 fail2ban 内存封禁)
@@ -114,9 +140,20 @@ bash "01_卡资/金仓_存储备份/服务器管理/scripts/kr宝塔_SS
python3 "01_卡资/金仓_存储备份/服务器管理/scripts/腾讯云_宝塔服务器重启.py"
```
### 6.2 宝塔终端解封SSH 不可用时用面板终端
### 6.2 永久白名单(防今后再封
在**宝塔面板 → 终端**粘贴执行。将 `你的公网IP` 替换为本机公网 IP如 211.156.92.72,可从 https://ip.sb 或本机 `curl ifconfig.me` 获取)
SSH 恢复后**务必执行**,将本机 IP 加入 ignoreip
```bash
# 本机执行(需先 SSH 通)
sshpass -p 'Zhiqun1984' ssh -p 22022 root@43.139.27.93 'bash -s' < scripts/宝塔_永久白名单fail2ban_终端执行.sh 140.245.37.56
```
或在宝塔面板 → 终端,复制 `scripts/宝塔_永久白名单fail2ban_终端执行.sh` 内容执行,参数传你的公网 IP。
### 6.3 宝塔终端解封SSH 不可用时用面板终端)
在**宝塔面板 → 终端**粘贴执行。将 `你的公网IP` 替换为本机公网 IP如 140.245.37.56,可从 https://ip.sb 或本机 `curl ifconfig.me` 获取):
**优化单行(同时解封 sshd + ssh-iptables**
@@ -136,7 +173,7 @@ fail2ban-client set ssh-iptables unbanip 你的公网IP
---
## 、存客宝 SSH 修复Permission denied 时)
## 、存客宝 SSH 修复Permission denied 时)
存客宝若密码/密钥均 Permission denied需在**存客宝宝塔面板 → 终端**执行修复:

View File

@@ -0,0 +1,30 @@
#!/bin/bash
# 在 kr宝塔 宝塔面板 → 终端 执行,将本机 IP 永久加入 fail2ban 白名单
# 用法bash 本脚本 或 复制内容到终端执行
# 不传参数时从 https://ip.sb 获取也可传参bash 本脚本 211.156.92.72
IP="${1:-$(curl -s --connect-timeout 5 ip.sb 2>/dev/null || curl -s ifconfig.me 2>/dev/null || echo '')}"
if [ -z "$IP" ]; then
echo "❌ 无法获取公网 IP请手动传入: bash $0 你的公网IP"
exit 1
fi
echo "=== 将 $IP 永久加入 fail2ban 白名单 ==="
mkdir -p /etc/fail2ban/jail.d
# 追加到已有 ignoreip 或新建(保留 127.0.0.1/8 ::1
if [ -f /etc/fail2ban/jail.d/99-allow-ckb-ip.conf ]; then
cur=$(grep ignoreip /etc/fail2ban/jail.d/99-allow-ckb-ip.conf 2>/dev/null | head -1)
if echo "$cur" | grep -q "$IP"; then
echo " $IP 已在白名单中"
else
sed -i "s/ignoreip = \(.*\)/ignoreip = \1 $IP/" /etc/fail2ban/jail.d/99-allow-ckb-ip.conf 2>/dev/null || \
echo -e "[DEFAULT]\nignoreip = 127.0.0.1/8 ::1 $IP" > /etc/fail2ban/jail.d/99-allow-ckb-ip.conf
echo " 已添加 $IP"
fi
else
echo -e "[DEFAULT]\nignoreip = 127.0.0.1/8 ::1 $IP" > /etc/fail2ban/jail.d/99-allow-ckb-ip.conf
echo " 已创建 99-allow-ckb-ip.conf"
fi
systemctl restart fail2ban 2>/dev/null || service fail2ban restart 2>/dev/null
fail2ban-client set sshd unbanip "$IP" 2>/dev/null
fail2ban-client set ssh-iptables unbanip "$IP" 2>/dev/null
echo "✅ 完成。$IP 今后不会被 fail2ban 封禁。"

View File

@@ -101,11 +101,23 @@ print("RUN:", run_c, "STOP:", len(items2)-run_c)
'''.encode()).decode()
def build_shell(unban_ip: str) -> str:
# 白名单:默认 + 当前 IP + 常见办公 IP防止多网络环境
allow_ips = "127.0.0.1/8 ::1 " + unban_ip + " 211.156.92.72 140.245.37.56"
allow_ips = " ".join(dict.fromkeys(allow_ips.split())) # 去重
return f'''#!/bin/bash
set -e
echo "=== 1. 解封 fail2ban SSH (unbanip {unban_ip}) ==="
fail2ban-client set sshd unbanip {unban_ip} 2>/dev/null || echo " (fail2ban 未启用或已解封)"
echo "=== 2. Node 批量启动 ==="
IP="{unban_ip}"
echo "=== 1. 永久白名单:将 $IP 等加入 fail2ban今后不再封禁==="
mkdir -p /etc/fail2ban/jail.d
echo -e "[DEFAULT]\\nignoreip = {allow_ips}" > /etc/fail2ban/jail.d/99-allow-ckb-ip.conf
echo " 已写入 99-allow-ckb-ip.conf"
echo "=== 2. 重启 fail2ban 并立即解封 $IP ==="
systemctl restart fail2ban 2>/dev/null || service fail2ban restart 2>/dev/null || true
sleep 2
fail2ban-client set sshd unbanip "$IP" 2>/dev/null || true
fail2ban-client set ssh-iptables unbanip "$IP" 2>/dev/null || true
echo " 已解封 $IP"
echo "=== 3. Node 批量启动 ==="
echo "{NODE_FIX_B64}" | base64 -d | python3 -
echo "=== 完成 ==="
'''

View File

@@ -131,12 +131,24 @@ pip3 install pymysql
- 小程序内容来源:腾讯云 MySQL `soul_miniprogram.chapters`
- content_upload 直连数据库,与 API 共用同一数据源
### 5. 工作流建议
### 5. 发海报到飞书
上传成功后自动生成海报图片(含小程序码)并发送到飞书群,**不发链接**,直接发图。
- 海报格式与小程序「生成海报」一致Soul创业派对、标题、金句、日期、小程序码
- 小程序码由 Soul 后端 `/api/miniprogram/qrcode` 生成
- 需配置:`scripts/.env.feishu` 或环境变量 `FEISHU_APP_ID``FEISHU_APP_SECRET`(与 webhook 同租户)
- 依赖:`pip install Pillow requests`
手动发:`python3 scripts/send_poster_to_feishu.py "<文章路径>"``--id 9.15`
仅保存本地:`python3 scripts/send_poster_to_feishu.py "<路径>" --save poster.png`
### 6. 工作流建议
1. 根据 Soul 派对 TXT 写好文章(按书格式:一句一行、金句开头、日期、`---` 分段)
2. 保存为 `9.xx 第X场主题.md` 到第9章目录
3. 执行 `upload_soul_article.sh "<文章路径>"`
4. 检查返回为「创建」或「更新」即完成
4. 检查返回为「创建」或「更新」,海报会自动发到飞书群
---

View File

@@ -50,3 +50,4 @@
| 2026-02-22 05:04:01 | 🔄 卡若AI 同步 2026-02-22 05:03 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 5 个 |
| 2026-02-22 05:11:04 | 🔄 卡若AI 同步 2026-02-22 05:11 | 更新:金仓、水溪整理归档、运营中枢工作台 | 排除 >20MB: 5 个 |
| 2026-02-22 05:25:32 | 🔄 卡若AI 同步 2026-02-22 05:25 | 更新:金仓、卡木、总索引与入口、运营中枢工作台 | 排除 >20MB: 5 个 |
| 2026-02-22 05:46:11 | 🔄 卡若AI 同步 2026-02-22 05:46 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 5 个 |

View File

@@ -53,3 +53,4 @@
| 2026-02-22 05:04:01 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-22 05:03 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 5 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-02-22 05:11:04 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-22 05:11 | 更新:金仓、水溪整理归档、运营中枢工作台 | 排除 >20MB: 5 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-02-22 05:25:32 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-22 05:25 | 更新:金仓、卡木、总索引与入口、运营中枢工作台 | 排除 >20MB: 5 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-02-22 05:46:11 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-22 05:46 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 5 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |