Skip to content

301 重定向管理工具 (ptc_301 CLI)

摘要: 这是一个集成了规则解析、Git 自动化、环境溯源功能的 Python 工具,用于高效维护大规模 301 重定向规则,支持单域名精准操作、批量指令流处理以及“智能恢复”方案。

核心命令详解

该工具通过一组快捷指令(或脚本参数)执行,涵盖了从规则增删到提交部署的全生命周期。

1. 基础管理指令

指令用法行为描述
301add301add <源> <目标> [描述]添加或更新重定向规则。自动补全 https 协议。
301del301del <源> [描述]直接删除: 从 index.js 中移除匹配的重定向条目。
301list301list列表查询: 格式化输出当前 index.js 中所有的重定向映射关系。

2. 智能恢复指令 (核心特性)

  • 指令: 301restore <域名> [描述]
  • 深度行为: 与简单的 del 不同,restore 执行的是安全解绑逻辑:
    1. 规则清理: 从跳转列表中移除该域名。
    2. 溯源搜索: 自动调用内部接口(如 rf getcf)查询该域名的云端 DNS 记录。
    3. 日志分析: 深度解析该域名的历史绑定日志,识别其在跳转到 301-gb 之前的原始后端服务名(如 wordpress-2.0)。
    4. 方案生成: 最终输出一份详细的“恢复建议”,告知操作者下一步应该将域名重新绑定到哪个具体服务。

3. 批量处理与提交

  • 301batch: 301batch [描述] [--no-clear]
    • 默认读取 redirects.txt
    • 语法支持: 使用 + 代表添加(Add),- 代表恢复(Restore)。
    • 自动化: 处理完成后默认会清空指令文件,除非指定 --no-clear
  • 301commit: 301commit [描述]
    • Git 自动化: 自动检测当前版本 -> 创建新分支 -> 生成带统计信息的 Commit Message -> 推送到远程仓库。

批量文件语法 (redirects.txt)

支持空格或 -> 作为分隔符,方便从聊天记录或 Excel 中直接粘贴:

text
# 添加重定向
+ example.com https://target.com
301:newsite.net https://target.com

# 智能恢复 (执行 restore 逻辑)
- oldsite.com
restore:expired.net

自动化工作流记录

脚本在执行任何修改命令后,会自动触发以下流程:

  1. 文件同步: 修改 server/index.js
  2. 双重审计:
    • change_log.txt 中记录技术版本和操作人。
    • REDIRECTIONS.md 中为运营人员生成可读的中文操作日志。
  3. 环境适配: 部署后会输出对应环境的 SCMP 页面链接及版本号,简化审批流程。

注意事项

  • 测试模式: 建议先加 -t (或 --dry-run) 预览,它会修改本地文件并展示审批版本预览,但不会执行 Git 提交。
  • 敏感字段: 脚本已隐藏具体的 API 终端和鉴权参数,通过环境变量注入或内部命令调用。

关联文档

用 ❤️ 记录技术成长