• flinthub

    FlintHub 1.0.0 下载地址:https://www.flinthub.top/thread/70

    FlintHub 1.0-燧石论坛 —— 轻量级、高性能、零 MySQL 依赖的 PHP 社区系统。
    内核:SplitDB 纯 SQLite 分片存储引擎 v2.3
    运行环境:PHP ≥ 8.0(推荐 8.2+)· SQLite ≥ 3.33 · 无 MySQL 依赖
    版本:FLINTHUB_VERSION = V1.0.0(version.php 为单一版本源)


    一、项目定位

    FlintHub(燧石论坛)是一款面向低资源虚拟主机与轻量部署场景的社区论坛程序。它放弃了对 MySQL 的重依赖,改用自研的 SplitDB 纯 SQLite 分片引擎,在普通虚拟主机就能承载可观的社区规模,实测基准:

    • 19 万+ 主题、16 万+ 回复、5 万+ 用户、235 万+ 搜索索引行

    核心理念:零外部依赖(纯 PHP + SQLite,无 Composer、无 Redis、无附加 Nginx 模块)、极致轻量(单一前端控制器入口,核心代码精简)、分片存储(季度时序分区 + 哈希分桶)、外置正文(帖子正文剥离数据库,存为 .txt/.bin 文件)、插件驱动(完整钩子系统 + 独立数据库 + 多语言,内置 17 个插件零侵入核心)。


    二、核心特性

    维度特性
    零 MySQL 依赖纯 SQLite 分片引擎,无需部署/维护数据库服务,运维成本趋零
    分片存储季度时序分区(每季度一目录)+ 哈希分桶;单库文件极小,读写均衡
    零迁移扩容桶数 32→64→128 平滑升级,新数据路由进新增桶范围,历史数据永不迁移
    外置正文帖子/回复正文剥离 SQLite(.txt 存量 + .bin/.idx 归档),库文件体积极小
    极致性能游客列表页静态 HTML 缓存(命中 3~10ms)、前置缓存、keyset 游标分页、LRU 连接池
    插件驱动钩子系统 + 插件独立数据库 + 多语言自动合并,内置 17 个插件零侵入核心
    多语言原生zh / en / zh_tw 三语,核心键优先合并,缺 key 回退链永不白屏
    安全纵深全量参数化查询、模板自动转义、CSRF(hash_equals 一次性消费)、XSS 白名单净化、文件上传白名单 + MIME 校验、频率限制(Session + IP 双重)、登录/注册 PoW 工作量证明为主 + 图形验证码兜底(防爆破)、IP 限流、审计日志
    响应式 & 主题化原生响应式(一套 HTML 同时适配 PC / 移动端)、--mn-* CSS 变量主题、5 个内置配色 + 夜间模式 + 用户自定义 CSS
    PWA 支持Service Worker 缓存 + manifest,可添加到主屏幕
    二级目录部署全链路 BASE_PATH 适配,可部署在任意子目录

    内置功能块:论坛(主题/回复/楼中楼)、版块权限矩阵、博客、搜索(倒排索引 + 中文二元切词)、私信、标签、勋章、每日签到、任务中心、邀请注册、内容审核、通知、公告、友情链接、PWA 等。


    三、安装 / 升级

    3.1 快速安装

    1. 将本目录内容上传到站点根目录(或子目录,见 3.3)。
    2. 确认环境满足 [INSTALL.md](./INSTALL.md) 的前置要求(PHP ≥ 8.0、PDO 扩展 + pdo_sqlite、SQLite ≥ 3.33、mbstring、fileinfo、curl、gd/imagick、openssl)。
    3. 配置 Web 服务器伪静态规则(Apache .htaccess 已内置;Nginx 见 [nginx-server.conf](./nginx-server.conf))。
    4. 浏览器访问 install.php,跟随分步向导:环境检测 → SplitDB 初始化 → 创建管理员。
    5. 安装完成后 protected/.install_done 生成,再次访问 install.php 会被拒绝(防止二次初始化覆盖数据)。

    详细步骤、目录权限清单、服务器配置模板见 [INSTALL.md](./INSTALL.md)。

    3.2 升级

    • 升级采用完整包覆盖:下载最新完整包,解压覆盖程序目录(保留 data/、protected/、assets/uploads/ 不动),清理前台页面缓存即可。
    • 覆盖后若提示页面/schema 异常,运行对应 cli/ 迁移或重建脚本(如搜索重建 rebuild_search.php、摘要回填 backfill_excerpts.php)。
    • 升级前建议备份 data/ 与 protected/(关键运行时数据)。
    • 部署到 Apache 需确保 .htaccess 生效;Nginx 需 nginx -t && nginx -s reload。

    3.3 二级目录部署

    在 config.php 中设置 define('BASE_PATH', '/forum');(如部署在 /forum 子目录),Router / Controller / PageCache / I18n 将全链路自动适配。


    四、文档地图

    文档说明
    [INSTALL.md](./INSTALL.md)安装步骤 + Web 服务器配置规则
    [CHANGELOG.md](./CHANGELOG.md)1.0.0 版本更新记录
    [插件开发规范.md](./docs/插件开发规范.md)v1.2 插件开发规范(安全红线 / 钩子清单 / 目录结构 / 语言包 / 主题适配 / 核心库访问边界)
    [LICENSE](./LICENSE)开源协议(MIT)

    五、只读发布声明

    本发行包为只读发布,特此声明:

    1. 按原样提供:本程序以「现状」形式发布(provided "AS IS"),不含任何明示或暗示的保证,包括但不限于适销性、特定用途适用性与不侵权。
    2. 只读包:本目录用于部署安装与参考阅读。作者不承诺提供技术支持或接受代码合并请求,完整责任条款见 [LICENSE](./LICENSE)。
    3. 数据免责:data/(运行时数据)与 protected/(运行产物、会话、限流缓存、日志)应在全新安装时由 install.php 自动重建;发行包本身不携带任何站点运行时数据。
    4. 无担保与无附随责任:使用者对其彻底部署、配置、使用及由此产生的任何直接/间接损失自负责任,作者与维护者不承担任何赔偿责任,完整条款见 [LICENSE](./LICENSE)。
    5. SECURITY / BUG 致谢:欢迎在合规前提下反馈问题,但修复与迭代不构成对本「只读发布声明」的修改。

    FlintHub — 用最少的资源,承载最大的社区。
    A lightweight PHP community system powered by SplitDB, the sharded SQLite storage engine.

    最后由 flinthub 编辑于 2026-09-13 16:28
    主楼
  • one

    楼主,同名id帮我处理一下。注册了无法登录

    #1
  • flinthub

    不能登录?显示什么?

    #2
  • one

    注册了,提示没配smtp

    登录提示没邮箱验证

    #3
  • flinthub

    我后台给你验证了,重新登录一下试试

    #5
  • flinthub

    可能我后台设置的smtp有问题,我把邮箱验证关了,时不时的抽风。

    #7
  • webmaster

    又一个开源社区啊

    #4
  • flinthub

    嗯,搞了好几个月了,开始本来想做个小论坛,放点自己喜欢的软件和文章,弄到现在。

    #6
  • webmaster

    速度好快,哪里买的 vps ?

    #8
  • flinthub

    http://www.idcqb.com/user/home.asp 这里的,我买了个600m的,iis的,估计你都看不上

    #14
  • webmaster

    Forbidden

    You don't have permission to access https://www.idcqb.com/ on this server.

    #15
  • bbs1org

    SplitDB 纯 SQLite 分片存储引擎 v2.3 建议抽离一下,让bbs1org也能用上😅

    #9
  • flinthub

    改天试试吧,比较麻烦。

    #10
  • flinthub

    刚刚没设置好附件权限,没法下载是吧。

    #11
  • webmaster

    github 无法登录,检查下

    #12
  • flinthub

    你注册个用户名登录吧,那个插件还没搞好

    #13
  • ldsdf

    挺好的支持一下!

    #16
  • aniya

    试试新东西

    #17
  • flinthub

    https://github.com/flinthub-top/FlintHub
    加了个仓库,也可以去仓库下载

    #18
  • zaiwai

    不错,让BBS1也能用上。💖

    #19

发表回复

登录后回复