🔄 卡若AI 同步 2026-02-22 05:57 | 更新:金仓、水桥平台对接、运营中枢工作台 | 排除 >20MB: 5 个
This commit is contained in:
@@ -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`(重启清空封禁,等 2~3 分钟再连) |
|
||||
| **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,需在**存客宝宝塔面板 → 终端**执行修复:
|
||||
|
||||
|
||||
30
01_卡资(金)/金仓_存储备份/服务器管理/scripts/宝塔_永久白名单fail2ban_终端执行.sh
Normal file
30
01_卡资(金)/金仓_存储备份/服务器管理/scripts/宝塔_永久白名单fail2ban_终端执行.sh
Normal 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 封禁。"
|
||||
@@ -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 "=== 完成 ==="
|
||||
'''
|
||||
|
||||
@@ -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. 检查返回为「创建」或「更新」,海报会自动发到飞书群
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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 个 |
|
||||
|
||||
@@ -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) |
|
||||
|
||||
Reference in New Issue
Block a user