chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)

- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次)
- .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…),
  目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪
- .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/)
- .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*)
- .gitignore 补:备份件(*.bak-*)
- 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
This commit is contained in:
admin committed 2026-10-10 23:13:22 +08:00
1 parent 30b46dbd0c
commit c1b5e4d966
735 files changed
+153192 -2415

No files matched your search

@@ -0,0 +1,49 @@
set +e
echo "=== [S1] /etc/cloudflare.ini 存在性与键名(值不打印) ==="
ls -l /etc/cloudflare.ini 2>/dev/null
grep -oE '^[a-zA-Z_]+' /etc/cloudflare.ini 2>/dev/null | sort -u | tr '\n' ' '; echo
echo "=== [S2] 该令牌能看到的 zone(只报名字与 id 前 8 位) ==="
python3 - <<'PY' 2>&1 | head -20
import configparser, json, urllib.request
cp = configparser.ConfigParser()
try:
cp.read('/etc/cloudflare.ini')
sec = cp['dns_cloudflare'] if cp.has_section('dns_cloudflare') else cp[cp.sections()[0]]
d = dict(sec)
except Exception as e:
print('读取失败:', e); raise SystemExit
tok = d.get('dns_cloudflare_api_token')
email = d.get('dns_cloudflare_email')
key = d.get('dns_cloudflare_api_key')
print('凭据形态: token' if tok else ('key+email' if key else '未知'))
def call(path):
url = 'https://api.cloudflare.com/client/v4' + path
req = urllib.request.Request(url)
if tok is not None:
req.add_header('Authorization', 'Bearer ' + tok)
else:
req.add_header('X-Auth-Email', email or '')
req.add_header('X-Auth-Key', key or '')
try:
with urllib.request.urlopen(req, timeout=20) as r:
return json.loads(r.read().decode())
except Exception as e:
return {'error': str(e)}
r = call('/zones?per_page=50')
if 'result' in r:
zs = r['result']
print('可管理 zone 数 =', len(zs))
for z in zs[:20]:
print(' -', z['name'], z['id'][:8], z.get('status'))
names = {z['name'] for z in zs}
print('含 ai1net.com ?', 'ai1net.com' in names)
print('含 alotbuy.com ?', 'alotbuy.com' in names)
else:
print('查询结果:', json.dumps(r)[:200])
PY
echo "=== [S3] dsh.alotbuy.com 证书 SAN ==="
openssl x509 -in /etc/letsencrypt/live/dsh.alotbuy.com/fullchain.pem -noout -ext subjectAltName 2>/dev/null | tr ',' '\n' | head -8
echo "=== [S4] certbot 版本 & 是否可非交互 ==="
certbot --version 2>&1 | head -1
echo "=== [S5] nginx -t 基线 ==="
nginx -t 2>&1 | tail -1