Skip to content
/ RewrZ Public

RewrZ Project - 一个中庸的个人博客系统项目。基于 FastAPI 构建,轻量级设计,可在 512MB 内存服务器上流畅运行,注重隐私保护和个性化定制。

License

Notifications You must be signed in to change notification settings

rewrz/RewrZ

Repository files navigation

RewrZ Project - 一个中庸的个人博客系统

Rewrite + Philosophyz = RewrZ 最终的改写,用哲学的态度重新思考个人内容创作

注意(项目重构寄语)

!!!注意:本项目正在进行重构,还存在大量的Bug和错误,不建议部署使用!!!

由于个人精力有限,虽然使用了免费的 AI 辅助协同开发,但项目仍然存在很多问题,进度缓慢。

本来由于个人的时间、精力、技术等都极其有限,我已经很久没有更新这个项目了,又重新回到 WordPress 的大坑里面,想着只安心写文章内容就算了,折腾不动了,累了,改不动了,不想折腾了,主题都懒得做了,套个开源的了事。

可惜,随着 WordPress 的升级,逐渐放弃对旧版本 PHP、MySQL 的兼容,官方推荐的配置越来越高(2025年的WP官方:Recommend PHP 8.3 or greater and MySQL version 8.0 or MariaDB version 10.6 or greater.)。

虽然网上很多人说 WordPress 对服务器的要求并不算高,即使是入门级 VPS 也能运行良好,后面反手就推荐小型博客使用 1~2GB 内存服务器,存储空间 20GB SSD……也太凡尔赛了。我当年运行 WordPress 用的都是 512MB ,空间 5GB 的 VPS ,还用的飞起。现在动不动就要 1G 内存起步了吗?

随着 WordPress 升级对 PHP 和数据库版本要求越来越高,新的 PHP 和数据库版本推荐安装配置是 2G 内存起步,服务器费用提升一大截,对于非盈利性个人博主来说是一笔不小的开支。未来就只剩下了两条路,一是跟着官方走耗巨资升级服务器,二是直接放弃独立博客,每年还能省下不少费用和折腾时间。

放弃,又只会留下不舍、遗憾,毕竟坚持了多年,于是尝试着重新捡起多年前的这个轮子,升级重构,在 WP 完全放弃旧版本支持前,看能否完成这个开源的博客项目,能够在 512MB 内存左右运行就行了,综合自己多年使用博客的经验和痛点,只保留自己常用到的一些功能,打造一个中庸又带点个性化的博客系统。

正如我在博客上说的:

只要你用过WordPress,你就知道,你的后台登录页面,就是互联网上最繁忙的公共厕所。来自全球各个角落的IP,每分每秒都在尝试爆破你的密码。这是个不争的事实。因为WordPress太出名了,它占据了全球网站的半壁江山,所以成了所有自动化攻击脚本的默认目标。黑客们写的脚本,就是对着WordPress的wp-login.php这个裤裆猛踹。

每天看着无数不怀好意的 IP 地址对本人博客的光顾,或许也该是时候重构一个小众的博客系统了吧!


🌟 原项目背景

RewrZ,名字灵感来自《Rewrite》(改写)及其 OP「Philosophyz」(最终的哲学)。这是一个用现代技术栈重构的个人博客系统,旨在打造一个简洁中庸、性能优异、高度个性化的内容发布平台。

为什么要重新造轮子?

在使用过 WordPress、Blogger、Ghost、Hexo 等各种博客系统的过程中,我遇到了许多痛点:

  • 🔧 两种极端:太多用不到的功能(所谓的强大),要不就是想要的功能却没有(所谓的极简)
  • 🐌 性能瓶颈:插件依赖多,加载缓慢,服务器要求高
  • 🎨 定制困难:主题插件频繁更新,兼容性问题层出不穷
  • 🔒 隐私担忧:过度收集访客信息,不够纯粹

RewrZ 的哲学

  • 简洁中庸:少量核心功能 + 无限扩展可能
  • 隐私友好:不特意记录访客 IP,仅保留必要的交互信息和安全措施
  • 性能优先:能在 512MB 内存的服务器上流畅运行
  • 个性表达:不只是工具,更是反映博主个性的创作空间

✨ 核心特色

🎭 多重身份内容系统

一篇内容可以同时拥有多个"格式身份":

  • 📝 标准文章:传统博客文章样式
  • 💬 微博:类似 Twitter 的信息流布局
  • 📸 相册:瀑布流图片展示
  • 🎵 音乐:嵌入音频播放器
  • 🎬 视频:嵌入视频播放预览

不同聚合页面会根据内容的格式身份优化展示效果。

🎨 动态主题系统

  • 5种预设主题:浅色、深色、自然、海洋、夕阳
  • 自定义主题创建:可视化颜色编辑器
  • 氛围引擎:根据纪念日自动切换主题氛围
  • 主题调度:支持按日期范围自动应用特殊主题

🔒 安全与隐私

  • 动态后台路径:自定义后台访问地址,防止恶意扫描和攻击
  • 密码保护文章:支持文章加密访问
  • 评论后可见内容:鼓励访客互动的隐藏内容功能
  • 反垃圾评论:三层防护系统自动过滤恶意评论

💾 版本快照

  • 轻量级版本控制:自动保存文章修改历史
  • 一键版本恢复:快速回滚到任意历史版本
  • 版本比较预览:直观查看内容变化

🔍 全站搜索

  • 全文搜索:支持标题、内容、摘要搜索
  • 智能筛选:按分类、标签、格式筛选
  • 搜索建议:实时搜索建议和自动补全
  • 关键词高亮:搜索结果关键词高亮显示

📡 RSS & SEO

  • 智能RSS订阅:支持全站、分类、标签RSS
  • Open Graph支持:完善的社交分享优化
  • 自动Sitemap:搜索引擎友好的站点地图
  • 结构化数据:符合搜索引擎规范的元数据

🖼️ 响应式图片系统

  • 多尺寸生成:自动为上传图片生成多种尺寸
  • 响应式调用:模板中自动使用适合设备的图片尺寸
  • 性能优化:减少带宽消耗,提升页面加载速度

💬 评论头像系统

  • Gravatar集成:支持全球通用的头像服务
  • 本地头像上传:用户可上传个性化头像
  • 智能优先级:本地头像优先于Gravatar显示
  • 自定义配置:后台可配置头像尺寸、默认头像等

🛡️ 反垃圾评论系统

  • 三层防护:无感防御、内容分析、主动验证
  • 蜜罐陷阱:隐藏字段防止自动化提交
  • 时间戳检查:防止过快提交的垃圾评论
  • 链接数量限制:自动检测过多链接的可疑评论
  • 关键词过滤:黑名单关键词过滤
  • Akismet集成:云端垃圾评论检测服务
  • 验证码验证:可疑评论需通过验证码验证

📄 版权声明与打赏功能

  • 版权声明:支持Creative Commons等多种版权协议
  • 打赏功能:支持二维码和链接形式的打赏方式
  • 后台配置:可自定义打赏文案和二维码图片

📊 现代化博客增强功能

  • 阅读时间计算:自动计算文章阅读时间
  • 阅读进度条:页面右侧显示阅读进度
  • 相关文章推荐:基于标签和分类的智能推荐

⚙️ 系统信息与监控

  • 系统概览:显示操作系统、Python版本等信息
  • 资源监控:数据库路径、媒体库大小等
  • JSON API:支持通过API获取系统信息

🐛 错误处理与日志

  • 友好的错误页面:404、500等错误的美化页面
  • 自定义错误配置:后台可配置错误页面内容
  • 错误日志记录:自动记录错误信息便于排查
  • 本地化错误信息:中文错误提示提升用户体验

📤 数据导入导出

  • RewrZ格式:原生数据格式导入导出
  • WordPress兼容:支持导入WordPress导出的XML文件
  • 批量操作:支持批量导入导出文章和媒体文件

🔧 文件上传安全

  • 类型限制:后台可配置允许上传的文件类型
  • 大小限制:可设置文件大小上限
  • 安全验证:MIME类型和扩展名双重验证

🚀 技术亮点

现代化技术栈

  • 后端:FastAPI + SQLAlchemy 2.0 + Python 3.12
  • 前端:HTMX + Tailwind CSS(无需 Node.js)
  • 数据库:SQLite(可扩展至 PostgreSQL/MySQL)
  • 模板引擎:Jinja2
  • 部署:Uvicorn + Nginx

性能优化

  • 轻量级设计:核心系统占用极少资源
  • 智能缓存:多层缓存优化响应速度
  • CDN友好:静态资源通过CDN加速
  • 数据库优化:高效的查询和索引策略

📦 快速开始

环境要求

  • Python 3.10+
  • 512MB+ 内存
  • 现代 Web 浏览器

一键安装

# 克隆项目
git clone https://github.com/RewrZ/RewrZ.git
cd RewrZ

# 安装依赖
pip install -r requirements.txt

# 启动应用
uvicorn rewrz.main:app --reload

# 访问安装向导
# 打开浏览器访问 http://localhost:8000/installer

Web 安装向导

RewrZ 提供友好的 Web 安装向导,只需几步即可完成配置:

  1. 📊 数据库初始化:自动创建数据库表结构
  2. 👤 管理员账号:设置管理员用户名和密码
  3. ⚙️ 基础配置:网站标题、描述等基本信息
  4. 🔐 后台路径:自定义安全的后台访问地址
  5. 🎨 主题选择:选择预设主题或创建自定义主题

📚 使用指南

内容创作

  1. Markdown 编辑器:支持所见即所得的 Markdown 编写
  2. 格式身份:为内容选择一个或多个展示格式
  3. 分类标签:灵活的内容组织方式
  4. 媒体管理:统一的图片和文件管理

个性化定制

  1. 主题配置:在后台 → 主题 中选择或创建主题
  2. 氛围设置:配置纪念日和特殊氛围主题
  3. 导航菜单:自定义导航结构和链接
  4. 小工具配置:侧边栏和页脚小工具设置

访客互动

  1. 评论系统:支持嵌套回复的评论功能
  2. 社交分享:优化的社交媒体分享体验
  3. RSS订阅:多种格式的内容订阅方式
  4. 打赏支持:访客可通过二维码或链接打赏作者

开发文档

访问 DEVELOPMENT.md 获取开发文档


🛡️ 安全特性

动态后台保护

  • 自定义后台访问路径(如 /rewrz-admin-a1b2c3d4
  • 支持多种路径格式(随机、品牌、自定义)
  • 一键更换后台地址,有效防止恶意扫描

内容保护

  • 文章密码保护功能
  • 评论后可见内容设置
  • CSRF 攻击防护
  • SQL 注入防护

评论安全

  • 三层反垃圾评论防护
  • Akismet云端垃圾检测
  • 蜜罐陷阱和时间戳验证
  • 可疑评论验证码验证

🎯 设计理念

Logo 寓意

Logo 由 "RewrZ" 的 "R" 和 "Z" 叠加而成,一黑一白,象征:

  • ♻️ 循环重构:不断改进和完善
  • ⚖️ 阴阳平衡:简洁与功能的中庸之道
  • 💕 情感表达:个人创作的温度和情怀

📄 开源协议

RewrZ 采用 AGPL-3.0 开源协议:

  • ✅ 可以自由使用、修改和分发
  • ✅ 必须开源基于 RewrZ 的衍生项目
  • ✅ 需要保留原作者版权声明
  • ❌ 个人数据和内容不需要开源

💭 结语

这可能是我这个曾经的 IT 爱好者、中二的二次元迷的最后一个开源项目。

人的精力总是有限的,特别是只有一个人的时候。过去总是忍不住开新坑,结果一个完整的都没做出来。

所以这个项目的初衷是为了告诉自己:这是最后的个人网站项目。不再挖新坑,专心维护和完善 RewrZ,让它成为一个真正完整、实用、优雅的作品。

希望 RewrZ 不仅仅是一个博客系统,更是每个使用者表达自我、记录生活、分享思考的温暖空间。


用哲学的态度,重写最后一次。

最后,感谢 AI 助手的大力协助,时代变了,RewrZ 终于能更上一层楼。

RewrZ © 2025 RewrZ - 用 ❤️ 和 ☕ 制作

About

RewrZ Project - 一个中庸的个人博客系统项目。基于 FastAPI 构建,轻量级设计,可在 512MB 内存服务器上流畅运行,注重隐私保护和个性化定制。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published