菜单

Administrator
发布于 2026-03-30 / 3 阅读
0

更换新服务器后服务迁移与自动化架构参考

一、 架构总览

系统采用"双轨并行"架构,通过两个独立端口处理不同维度的信息流:

  1. 5000 端口(私人邮局):处理"马上记"日记流,负责添加时间戳并对接 Windows 办公端。
  2. 8888 端口(村长指令):处理 iOS 快捷指令发送的 JSON 任务包,负责身份校验与 ntfy 频道转发。

二、 服务模块详解

1. 马上记:个人日记流(Port 5000)

  • 功能逻辑:接收手机端 POST 发送的纯文本,自动扣上北京时间戳 [YYYY-MM-DD HH:MM],存入服务器临时文件,供 Windows 端定期拉取并清空。
  • 核心路径
    • 接收端:/upload (POST)
    • 取货端:/fetch (GET)
  • 自动化特征:采用 timedelta(hours=8) 强制校准北京时间,确保日记时间线不因服务器时区紊乱。

2. 团队通知:村长桥接器(Port 8888)

  • 功能逻辑:接收 iOS 快捷指令发送的 JSON 数据包,验证身份密钥(Key)。
  • 安全机制
    • JSON 校验:解析 {"key": "***", "task": "内容"}
    • 身份过滤:仅当 Key 匹配时转发,且转发时自动剥离 Key,保护隐私。
  • 输出格式:[时间] [代号:村长] 任务内容。
  • 分发目标:ntfy 频道 *********

三、 运维与持久化规范

1. 进程守护 (Systemd)

为了防止服务器重启导致服务中断,两个服务均封装为系统级服务:

  • 日记服务ntfy_sync.service
  • 通知服务ntfy_bridge.service
  • 常用命令
    • 查看状态:sudo systemctl status ntfy_sync ntfy_bridge
    • 重启服务:sudo systemctl restart ntfy_bridge

2. 网络安全 (Iptables)

需在 Oracle 云后台和服务器系统层面同时放行端口:

  • 放行指令:sudo iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
  • 持久化保存:sudo netfilter-persistent save

四、 客户端配置参考

1. iOS 快捷指令 (iPhone)

  • 马上记:发送 URL 内容,方法 POST,正文为 文本
  • 团队通知:发送 URL 内容,方法 POST,请求体为 JSON,包含两个字段:
    • key: ***
    • task: 输入的内容

2. Windows 办公端 (DailySync)

  • 通过脚本每 60 秒请求一次服务器的 /fetch 接口。
  • 自动将返回的内容追加到坚果云同步盘的 .txt 文件中。

五、 后续查询关键词

  • 脚本路径/home/ubuntu/server_broadcast.py (5000), /home/ubuntu/ntfy_ios_bridge.py (8888)
  • 日志路径/home/ubuntu/broadcast.log, /home/ubuntu/ntfy_bridge.log
  • 代号设置CODE_NAME = "村长"