✦ Open Source Projects

我的项目

这里整理了我正在开发和维护的一些开源项目,涵盖离线 IP 归属地服务、学习激励应用、Halo 博客主题、地图可视化插件, 以及基于 AI 的信息监控与风险预警工具。

🧩 Halo 生态 🐍 Python 服务 🤖 AI 应用 📦 开源项目

ip2region4python

基于 ip2region 的离线 IP 归属地 HTTP 查询 API 服务

一个轻量、快速且完全离线的 IP 归属地查询服务。项目将地址数据库直接打包进容器镜像, 无须依赖外部接口,即可同时完成 IPv4 和 IPv6 地址查询。

核心特性

  • 完全离线
    IP 数据库 xdb 文件直接打包进镜像,本地完成查询,不出网,也不依赖第三方 API。
  • 微秒级查询
    服务启动时将完整数据库载入内存,查询过程无磁盘 I/O,并可安全处理并发请求。
  • IPv4 / IPv6 自动判别
    使用同一个查询接口即可处理两种地址类型,无须调用不同的 API。
  • 高精度地址数据
    国内地址可精确到区县和运营商,海外地址可查询国家及州级信息。
  • Docker Compose 一键部署
    内置健康检查,并采用非 root 用户运行,便于部署、升级和迁移。
  • CORS 白名单
    仅允许指定站点发起跨域请求,避免服务被其他网页任意调用。
  • 可视化查询页面
    直接在浏览器中访问服务根路径,即可使用内置的 IP 查询界面。
Python FastAPI ip2region IPv4 IPv6 Docker

Puppy Focus

用抽卡激励专注学习的自托管网页应用

一个将番茄钟与抽卡机制结合的自托管学习激励应用。完成专注任务赚取书页, 兑换藏书签、抽取双一流高校 SSR 卡片,收集图鉴、解锁成就,让学习像开盲盒一样上瘾。

核心特性

  • 番茄钟激励
    每专注 1 分钟获得 2 书页(可配置), 学习时长直接转化为抽卡资源。
  • 早鸟奖励
    每日 08:30 前完成首次专注, 额外奖励 100 书页,鼓励早起学习。
  • 卡牌星级系统
    3 张同名卡合成升 1 星,最高 5 星, 满星分解可返还书页。
  • 成就系统
    内置 18 个成就,涵盖单抽 SSR、 双黄蛋、保底 SSR、全周早鸟等趣味目标。
  • 105 张高校卡片
    39 所 985 高校 SSR 卡,搭配 SR / R / N 各级别卡池,图鉴收集感拉满。
  • 开箱即用
    单用户设计,SQLite 存储,无需登录, Docker 一行命令即可部署使用。
Python FastAPI SQLite 原生前端 Docker

Sky Luxas

为 Halo 2.x 打造的现代化博客主题

Sky Luxas 是本博客正在使用的主题。它基于 Halo 2.x 构建,采用现代化的前端技术栈,在视觉表现、交互体验和页面性能之间取得平衡。

项目简介

  • 面向 Halo 2.x
    围绕 Halo 新版本的模板结构和内容体系开发,适用于个人博客和技术站点。
  • 现代前端技术栈
    使用 Vite、Tailwind CSS、DaisyUI 和 Alpine.js 构建页面与交互。
  • 响应式设计
    针对桌面端、平板和移动端进行适配,保持统一的阅读体验。
  • 持续维护
    主题功能会随着博客实际使用需求不断调整、扩展和优化。
Halo 2.x Vite Tailwind CSS DaisyUI Alpine.js

天涯比邻

基于地图可视化的 Halo 朋友位置管理插件

一个为 Halo 开发的朋友地图插件,用于记录朋友所在地区, 并通过中国省级行政区及海外国家热力图,展示朋友在世界各地的分布情况。

主要功能

  • 提供独立的前台页面 /friends-map, 用地图形式展示朋友所在地区。
  • 在 Halo Console 的“内容”分组中提供“天涯比邻”管理菜单。
  • 支持添加、编辑和删除朋友的姓名、关系、备注及当前位置。
  • 当前位置支持搜索;中国覆盖全部省级行政区, 海外地区按照国家进行管理。
  • 香港、澳门和台湾按照省级地区处理, 并统一纳入地图统计。
  • 地图按照朋友数量显示主题色热力, 某个地区人数越多,显示颜色越明亮。
  • “遍布地区”由已点亮的中国省级地区数与海外国家数共同计算。
  • 游客只能读取聚合数量;姓名、关系和备注等信息仅向具有管理权限的登录用户开放。
  • 页面沿用 Sky Blog 的 #swup、 #swup-scripts 和 #swup-page-extras 容器结构。
  • 从站内进入地图页面时,不会重新加载页眉和页脚, 保持主题原有的无刷新切换体验。

兼容性

Halo ≥ 2.21.8
Java JDK 21
Node.js 20+
包管理器 pnpm 9
推荐主题 Sky Luxas
Halo Plugin JDK 21 Map Visualization Swup Privacy Control

Trump Tracer

Truth Social 发帖追踪、AI 风险判断与邮件预警系统

一个用于监控 Truth Social 上 @realDonaldTrump 最新发帖的自动化项目。系统会保存帖子、调用大模型分析其对虚拟货币市场的潜在影响, 并在识别到较高波动风险时发送邮件告警。

主要功能

  • 周期性调用公开 API,抓取 Truth Social 指定账号发布的最新内容。
  • 将帖子持久化保存至 SQLite,并使用 UUID 去重,避免重复保存和重复分析。
  • 对尚未处理的帖子调用 OpenRouter 大模型,分析其是否可能显著影响虚拟货币市场。
  • 除判断是否存在影响外,还会分析市场更可能受到上涨刺激还是下跌压力。
  • 当分析结果满足 impact=true 且系统已进入第二轮及之后的轮询时,自动发送 HTML 邮件告警。
  • 告警邮件包含东八区时间、影响方向、原文链接、英文原文和中文翻译。
  • 邮件同时包含 AI 给出的分析理由、中英文解释及置信度。
  • 所有运行日志统一写入同目录下的 log.txt,程序不向控制台输出日志。
  • 内置 Tkinter 图形界面,可查看 trump_truths.sqlite3 数据库中的记录。
Python Truth Social OpenRouter SQLite Tkinter Email Alert