每天打开浏览器,我们大概率都会重复做几件事:搜索资料、打开常用网站、进入开发社区、查看云服务、刷一下内容平台。久而久之,浏览器书签会越来越乱,主页也很难真正贴合自己的使用习惯。
于是我做了一个轻量级的网址导航项目:追梦导航。它既可以作为个人浏览器首页,也可以作为团队入口页,集中管理搜索引擎、常用链接和站点外观。
项目定位
追梦导航是一个基于原生 PHP、JavaScript 和 JSON 文件存储的个人起始页项目。
它最大的特点是:无需数据库、无需复杂依赖、部署简单、可自由配置。
项目适合这些场景:
- 作为浏览器默认主页
- 作为个人常用网站入口
- 作为团队内部工具导航页
- 作为轻量级自托管导航站
- 作为 PHP 小项目学习或二次开发基础
核心功能
多搜索引擎切换
首页内置搜索框,支持多个搜索引擎切换。目前可配置 Google、百度、Bing、DuckDuckGo、搜狗、360 搜索、GitHub、Wikipedia 等搜索来源。
后台可以设置某个搜索引擎为默认引擎,也可以启用或关闭不需要的搜索来源。
快捷链接分类
首页下方展示常用站点,例如 GitHub、Stack Overflow、知乎、Bilibili、CSDN、掘金、腾讯云、阿里云等。
这些链接可以按照“开发”“社区”“娱乐”“云服务”等分类展示,用户点击分类按钮即可快速筛选对应站点。
后台管理
项目内置管理后台,可以维护:
- 网站名称
- 页面标题、描述、关键词
- Logo 和 Favicon
- 页脚文字
- 搜索提示文案
- 快捷导航显示开关
- 背景图和遮罩透明度
- 自定义 CSS
- 搜索引擎列表
- 常用站点链接
对日常使用来说,不需要直接修改代码,基本配置都可以在后台完成。
无数据库部署
项目使用 JSON 文件保存配置数据,主要包括:
data/settings.json:网站设置data/engines.json:搜索引擎配置data/links.json:快捷链接配置
迁移站点时,只需要备份项目文件和 data/ 目录即可。对于个人导航站来说,这种方式足够轻量,也更方便维护。
安全设计
虽然项目很轻量,但后台仍然加入了一些基础安全措施:
- 管理员密码使用
password_hash()哈希保存 - 后台写操作需要登录
- 接口写入带有 CSRF 校验
- 登录失败有频率限制
- 链接和图片地址会进行合法性校验
- 管理员凭据推荐使用环境变量或 Web 根目录外的配置文件保存
这些设计可以避免常见的明文密码、任意地址注入、后台误暴露等问题。
技术栈
项目技术栈非常简单:
PHP >= 7.3
原生 JavaScript
HTML / CSS
JSON 文件存储不依赖 Composer,不依赖 Node.js,也不需要 MySQL、Redis 之类的额外服务。
这意味着只要有一个支持 PHP 的 Web 环境,就可以直接部署运行。
部署方式
本地调试可以直接使用 PHP 内置服务器:
php -S 127.0.0.1:8080然后访问:
http://127.0.0.1:8080/后台地址为:
http://127.0.0.1:8080/admin/login.php生产环境中,将网站根目录指向项目目录即可。需要注意的是,PHP 需要对 data/ 目录拥有读写权限。
项目目录
.
├── index.php # 公开首页
├── admin/ # 管理后台
├── api/ # 前后台数据接口
├── css/ # 首页样式
├── js/ # 首页交互逻辑
├── data/ # JSON 配置数据
├── images/ # 背景图与站点图片
└── error/ # 错误状态页面整体结构比较直观,也方便后续二次开发。
为什么做这个项目
市面上有很多功能强大的导航页系统,但对个人使用来说,有时候反而显得太重:需要数据库、需要构建环境、配置项复杂,迁移也不够轻松。
我希望这个项目保持克制:
- 打开即用
- 部署简单
- 数据透明
- 方便备份
- 页面干净
- 后台够用
它不追求成为一个庞大的内容平台,而是专注解决一个小问题:让每天打开浏览器的第一步更顺手。
如果你也想拥有一个自己的浏览器起始页,或者正在寻找一个轻量级 PHP 导航项目,追梦导航会是一个不错的起点。
它不复杂,但足够实用。
它不臃肿,但该有的配置和管理能力都有。
最重要的是,它可以真正变成你自己的首页。